add some late optimizations that GCC does. It thinks these are a win

even on Core2, not just AMD processors which was a surprise to me.

llvm-svn: 72396
This commit is contained in:
Chris Lattner 2009-05-25 20:28:19 +00:00
parent 9a3f3a5c3d
commit 9b65031add
1 changed files with 14 additions and 0 deletions

View File

@ -1883,3 +1883,17 @@ On Nehalem, it may even be cheaper to just use movups when unaligned than to
fall back to lower-granularity chunks.
//===---------------------------------------------------------------------===//
Implement processor-specific optimizations for parity with GCC on these
processors. GCC does two optimizations:
1. ix86_pad_returns inserts a noop before ret instructions if immediately
preceeded by a conditional branch or is the target of a jump.
2. ix86_avoid_jump_misspredicts inserts noops in cases where a 16-byte block of
code contains more than 3 branches.
The first one is done for all AMDs, Core2, and "Generic"
The second one is done for: Atom, Pentium Pro, all AMDs, Pentium 4, Nocona,
Core 2, and "Generic"
//===---------------------------------------------------------------------===//