diff options
author | Chris Lattner <sabre@nondot.org> | 2006-01-29 09:08:15 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-01-29 09:08:15 +0000 |
commit | b638cd89dbe0f4a0a7ae51699efcb862f17355e8 (patch) | |
tree | 1d133207af1bffd31210971517d9ed616de32c13 | |
parent | 68a17febc70d9beb5353454e0c6d136ca1e87605 (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.txt | 10 |
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. + + |