Benjamin Kramer
|
f9d0cc0160
|
InstCombine: Teach foldLogOpOfMaskedICmpsHelper that sign bit tests are bit tests.
This subsumes several other transforms while enabling us to catch more cases.
llvm-svn: 147777
|
2012-01-09 17:23:27 +00:00 |
Benjamin Kramer
|
6609f741b9
|
Tweak my last commit to be less conservative about uses.
We still save an instruction when just the "and" part is replaced.
Also change the code to match comments more closely.
llvm-svn: 147753
|
2012-01-08 21:12:51 +00:00 |
Benjamin Kramer
|
da37e15345
|
InstCombine: If we have a bit test and a sign test anded/ored together, merge the sign bit into the bit test.
This is common in bit field code, e.g. checking if the first or the last bit of a bit field is set.
llvm-svn: 147749
|
2012-01-08 18:32:24 +00:00 |
Benjamin Kramer
|
272f2b0044
|
InstCombine: Add a few missing combines for ANDs and ORs of sign bit tests.
On x86 we now compile "if (a < 0 && b < 0)" into
testl %edi, %esi
js IF.THEN
llvm-svn: 128496
|
2011-03-29 22:06:41 +00:00 |