aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/X86/README.txt
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-05-25 20:28:19 +0000
committerChris Lattner <sabre@nondot.org>2009-05-25 20:28:19 +0000
commitd9b77159d65329e47a1dcf1bd6fb817e07bf99dc (patch)
tree5301dce8bd50e106429d838ca9980def32b047c2 /lib/Target/X86/README.txt
parent0c85aabfdcfa966c0c348242bad9a7c5fa2f8a14 (diff)
downloadexternal_llvm-d9b77159d65329e47a1dcf1bd6fb817e07bf99dc.zip
external_llvm-d9b77159d65329e47a1dcf1bd6fb817e07bf99dc.tar.gz
external_llvm-d9b77159d65329e47a1dcf1bd6fb817e07bf99dc.tar.bz2
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72396 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/README.txt')
-rw-r--r--lib/Target/X86/README.txt14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/Target/X86/README.txt b/lib/Target/X86/README.txt
index 1912888..710bd03 100644
--- a/lib/Target/X86/README.txt
+++ b/lib/Target/X86/README.txt
@@ -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"
+
+//===---------------------------------------------------------------------===//