From b638cd89dbe0f4a0a7ae51699efcb862f17355e8 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sun, 29 Jan 2006 09:08:15 +0000 Subject: [PATCH] add a missed optimization git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25786 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/README.txt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/Target/X86/README.txt b/lib/Target/X86/README.txt index ac8f3f1e08f..0074eb43369 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. + + -- 2.34.1