summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorOwen Anderson <resistor@mac.com>2011-01-11 00:36:45 +0000
committerOwen Anderson <resistor@mac.com>2011-01-11 00:36:45 +0000
commitd490c2d2aee591f593ec3cabb1caed801cfe2ad8 (patch)
tree502a5e31218be946e869790d08db16b7cb4b8c59 /llvm/lib/Target
parent1bb2c00f65010efe1673c2a9a39acb216cafd9c7 (diff)
downloadbcm5719-llvm-d490c2d2aee591f593ec3cabb1caed801cfe2ad8.tar.gz
bcm5719-llvm-d490c2d2aee591f593ec3cabb1caed801cfe2ad8.zip
Fix a random missed optimization by making InstCombine more aggressive when determining which bits are demanded by
a comparison against a constant. llvm-svn: 123203
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/README.txt15
1 files changed, 0 insertions, 15 deletions
diff --git a/llvm/lib/Target/README.txt b/llvm/lib/Target/README.txt
index dfa00b8c951..194a19219cb 100644
--- a/llvm/lib/Target/README.txt
+++ b/llvm/lib/Target/README.txt
@@ -1627,21 +1627,6 @@ int bar() { return foo("abcd"); }
//===---------------------------------------------------------------------===//
-InstCombine should use SimplifyDemandedBits to remove the or instruction:
-
-define i1 @test(i8 %x, i8 %y) {
- %A = or i8 %x, 1
- %B = icmp ugt i8 %A, 3
- ret i1 %B
-}
-
-Currently instcombine calls SimplifyDemandedBits with either all bits or just
-the sign bit, if the comparison is obviously a sign test. In this case, we only
-need all but the bottom two bits from %A, and if we gave that mask to SDB it
-would delete the or instruction for us.
-
-//===---------------------------------------------------------------------===//
-
functionattrs doesn't know much about memcpy/memset. This function should be
marked readnone rather than readonly, since it only twiddles local memory, but
functionattrs doesn't handle memset/memcpy/memmove aggressively:
OpenPOWER on IntegriCloud