Sanjay Patel
c0812702f8
minimize tests and auto-generate checks
...
llvm-svn: 276147
2016-07-20 17:58:20 +00:00
Benjamin Kramer
94fc18d040
InstCombine: Teach icmp merging about the equivalence of bit tests and UGE/ULT with a power of 2.
...
This happens in bitfield code. While there reorganize the existing code
a bit.
llvm-svn: 201176
2014-02-11 21:09:03 +00:00
Stephen Lin
c1c7a1309c
Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change.
...
This update was done with the following bash script:
find test/Transforms -name "*.ll" | \
while read NAME; do
echo "$NAME"
if ! grep -q "^; *RUN: *llc" $NAME; then
TEMP=`mktemp -t temp`
cp $NAME $TEMP
sed -n "s/^define [^@]*@\([A-Za-z0-9_]*\)(.*$/\1/p" < $NAME | \
while read FUNC; do
sed -i '' "s/;\(.*\)\([A-Za-z0-9_]*\):\( *\)@$FUNC\([( ]*\)\$/;\1\2-LABEL:\3@$FUNC(/g" $TEMP
done
mv $TEMP $NAME
fi
done
llvm-svn: 186268
2013-07-14 01:42:54 +00:00
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