aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-01-29 09:08:15 +0000
committerChris Lattner <sabre@nondot.org>2006-01-29 09:08:15 +0000
commitb638cd89dbe0f4a0a7ae51699efcb862f17355e8 (patch)
tree1d133207af1bffd31210971517d9ed616de32c13
parent68a17febc70d9beb5353454e0c6d136ca1e87605 (diff)
add a missed optimization
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25786 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/X86/README.txt10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/Target/X86/README.txt b/lib/Target/X86/README.txt
index ac8f3f1e08..0074eb4336 100644
--- a/lib/Target/X86/README.txt
+++ b/lib/Target/X86/README.txt
@@ -204,3 +204,13 @@ There are two ways to fix this:
disambiguate the pointers.
Number 1 is the preferred solution.
+
+//===---------------------------------------------------------------------===//
+
+The instruction selector sometimes misses folding a load into a compare. The
+pattern is written as (cmp reg, (load p)). Because the compare isn't
+commutative, it is not matched with the load on both sides. The dag combiner
+should be made smart enough to cannonicalize the load into the RHS of a compare
+when it can invert the result of the compare for free.
+
+