llvm-6502/test/Transforms/InstCombine
Chris Lattner 8114b718c9 make truncate/sext elimination capable of changing phi's. This
implements rdar://6013816 and the testcase in Transforms/InstCombine/sext-misc.ll.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52440 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-18 04:00:49 +00:00
..
2002-03-11-InstCombineHang.ll
2002-05-14-SubFailure.ll
2002-05-14-TouchDeletedInst.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
2002-08-02-CastTest.ll
2002-09-17-GetElementPtrCrash.ll
2002-12-05-MissedConstProp.ll
2003-05-26-CastMiscompile.ll
2003-05-27-ConstExprCrash.ll
2003-06-05-BranchInvertInfLoop.ll
2003-06-22-ConstantExprCrash.ll
2003-07-21-ExternalConstant.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
2003-08-12-AllocaNonNull.ll
2003-09-09-VolatileLoadElim.ll
2003-10-23-InstcombineNullFail.ll
2003-10-29-CallSiteResolve.ll
2003-11-03-VarargsCallBug.ll
2003-11-13-ConstExprCastCall.ll Situations can arise when you have a function called that returns a 'void', but 2008-05-14 22:45:20 +00:00
2004-01-13-InstCombineInvokePHI.ll
2004-02-23-ShiftShiftOverflow.ll
2004-03-13-InstCombineInfLoop.ll
2004-04-04-InstCombineReplaceAllUsesWith.ll
2004-05-07-UnsizedCastLoad.ll
2004-07-27-ConstantExprMul.ll
2004-08-09-RemInfLoop.ll rename *.llx -> *.ll, last batch. 2008-04-19 22:32:52 +00:00
2004-08-10-BoolSetCC.ll
2004-09-20-BadLoadCombine2.ll Update old-style syntax in some "not grep" tests. 2008-05-01 23:50:07 +00:00
2004-09-20-BadLoadCombine.ll rename *.llx -> *.ll, last batch. 2008-04-19 22:32:52 +00:00
2004-09-28-BadShiftAndSetCC.ll rename *.llx -> *.ll, last batch. 2008-04-19 22:32:52 +00:00
2004-11-22-Missed-and-fold.ll
2004-11-27-SetCCForCastLargerAndConstant.ll Eliminate questionable syntax for stdin redirection. This probably also speeds things up a bit. 2008-05-20 22:07:21 +00:00
2004-12-08-InstCombineCrash.ll
2004-12-08-RemInfiniteLoop.ll
2005-03-04-ShiftOverflow.ll
2005-04-07-UDivSelectCrash.ll
2005-06-15-DivSelectCrash.ll
2005-06-15-ShiftSetCCCrash.ll
2005-06-16-RangeCrash.ll
2005-06-16-SetCCOrSetCCMiscompile.ll
2005-07-07-DeadPHILoop.ll
2006-02-07-SextZextCrash.ll
2006-02-13-DemandedMiscompile.ll
2006-02-28-Crash.ll
2006-03-30-ExtractElement.ll
2006-04-01-InfLoop.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
2006-04-28-ShiftShiftLongLong.ll
2006-05-04-DemandedBitCrash.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
2006-05-06-Infloop.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
2006-06-28-infloop.ll
2006-09-11-EmptyStructCrash.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
2006-09-15-CastToBool.ll
2006-10-19-SignedToUnsignedCastAndConst-2.ll Eliminate questionable syntax for stdin redirection. This probably also speeds things up a bit. 2008-05-20 22:07:21 +00:00
2006-10-19-SignedToUnsignedCastAndConst.ll
2006-10-20-mask.ll
2006-10-26-VectorReassoc.ll
2006-11-03-Memmove64.ll
2006-11-10-ashr-miscompile.ll
2006-11-27-XorBug.ll
2006-12-01-BadFPVectorXform.ll
2006-12-05-fp-to-int-ext.ll
2006-12-08-ICmp-Combining.ll
2006-12-08-Phi-ICmp-Op-Fold.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
2006-12-08-Select-ICmp.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
2006-12-10-ICmp-GEP-GEP.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
2006-12-15-Range-Test.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
2006-12-23-Select-Cmp-Cmp.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
2007-01-13-ExtCompareMiscompile.ll
2007-01-14-FcmpSelf.ll
2007-01-18-VectorInfLoop.ll
2007-01-27-AndICmp.ll
2007-02-01-LoadSinkAlloca.ll
2007-02-07-PointerCast.ll
2007-02-23-PhiFoldInfLoop.ll
2007-03-13-CompareMerge.ll
2007-03-19-BadTruncChangePR1261.ll
2007-03-21-SignedRangeTest.ll
2007-03-25-BadShiftMask.ll
2007-03-25-DoubleShift.ll
2007-03-26-BadShiftMask.ll
2007-03-27-PR1280.ll
2007-03-31-InfiniteLoop.ll
2007-04-04-BadFoldBitcastIntoMalloc.ll
2007-04-08-SingleEltVectorCrash.ll
2007-05-04-Crash.ll
2007-05-10-icmp-or.ll
2007-05-14-Crash.ll
2007-05-18-CastFoldBug.ll
2007-06-06-AshrSignBit.ll
2007-06-21-DivCompareMiscomp.ll
2007-08-02-InfiniteLoop.ll
2007-09-05-EqualGEP.ll
2007-09-10-AliasConstFold.ll
2007-09-11-Trampoline.ll
2007-09-17-AliasConstFold2.ll
2007-10-10-EliminateMemCpy.ll
2007-10-12-Crash.ll
2007-10-28-EmptyField.ll
2007-10-28-stacksave.ll
2007-10-31-RangeCrash.ll
2007-10-31-StringCrash.ll
2007-11-07-OpaqueAlignCrash.ll
2007-11-15-CompareMiscomp.ll
2007-11-22-IcmpCrash.ll
2007-11-25-CompatibleAttributes.ll
2007-12-10-ConstFoldCompare.ll
2007-12-12-GEPScale.ll
2007-12-16-AsmNoUnwind.ll
2007-12-18-AddSelCmpSub.ll
2007-12-28-IcmpSub2.ll
2008-01-06-BitCastAttributes.ll Ignore stderr for some more tests that expect warnings there. 2008-06-10 16:13:38 +00:00
2008-01-06-CastCrash.ll
2008-01-06-VoidCast.ll
2008-01-13-AndCmpCmp.ll
2008-01-13-NoBitCastAttributes.ll
2008-01-14-DoubleNest.ll
2008-01-14-VarArgTrampoline.ll
2008-01-21-MismatchedCastAndCompare.ll Fix two more not-grep tests that were missing llvm-dis. 2008-06-09 22:36:45 +00:00
2008-01-21-MulTrunc.ll
2008-01-27-FloatSelect.ll
2008-01-29-AddICmp.ll
2008-02-04-GEPIdxBug.ll
2008-02-13-MulURem.ll
2008-02-16-SDivOverflow2.ll
2008-02-16-SDivOverflow.ll
2008-02-23-MulSub.ll
2008-02-28-OrFCmpCrash.ll
2008-03-13-IntToPtr.ll The inst combining of inttoptr into GEP with one index was using the bit size of 2008-03-14 05:12:19 +00:00
2008-04-22-ByValBitcast.ll distill down the essense of this test. 2008-04-23 03:03:42 +00:00
2008-04-28-VolatileStore.ll don't delete the last store to an alloca if the store is volatile. 2008-04-29 04:58:38 +00:00
2008-04-29-VolatileLoadDontMerge.ll don't eliminate load from volatile value on paths where the load is dead. 2008-04-29 17:28:22 +00:00
2008-04-29-VolatileLoadMerge.ll make this test reduced and *valid* 2008-04-29 17:25:32 +00:00
2008-05-08-LiveStoreDelete.ll Make instcombine's DSE respect loads as well as stores. It is not safe to 2008-05-08 17:20:30 +00:00
2008-05-08-StrLenSink.ll More than just loads can read from memory: readonly calls like strlen 2008-05-08 17:37:37 +00:00
2008-05-09-SinkOfInvoke.ll Testcase for PR2303. 2008-05-10 16:43:10 +00:00
2008-05-17-InfLoop.ll Fix PR2339 2008-05-18 04:11:26 +00:00
2008-05-18-FoldIntToPtr.ll "ret (constexpr)" can't be folded into a Constant. Add a method to 2008-05-25 20:56:15 +00:00
2008-05-22-IDivVector.ll Fix a recently added optimization to not crash on vectors. 2008-05-23 03:26:47 +00:00
2008-05-22-NegValVector.ll Constant integer vectors may also be negated. 2008-05-23 04:54:45 +00:00
2008-05-23-CompareFold.ll Fix a serious brain-o. Obviously no-one reviewed my patch :( 2008-05-24 04:06:28 +00:00
2008-05-31-AddBool.ll Adding i1 is always Xor. 2008-05-31 17:10:28 +00:00
2008-05-31-Bools.ll Add more i1 optimizations. add, sub, mul, s/udiv on i1 are now simplified away. 2008-05-31 17:59:52 +00:00
2008-06-05-ashr-crash.ll Add a test case for opt -instcombine bug fix in revision 52003. 2008-06-05 14:25:11 +00:00
2008-06-08-ICmpPHI.ll Remove unnecessary target lines. 2008-06-13 22:10:32 +00:00
2008-06-13-InfiniteLoopStore.ll Remove unnecessary target lines. 2008-06-13 22:12:16 +00:00
2008-06-13-ReadOnlyCallStore.ll Don't skip over instructions other than loads that might read memory 2008-06-13 22:02:12 +00:00
add2.ll be more aggressive about transforming add -> or when the operands have no 2008-05-19 20:01:56 +00:00
add-shrink.ll Teach instcombine 4 new xforms: 2008-05-20 05:46:13 +00:00
add-sitofp.ll Generalize the new code in instcombine's ComputeNumSignBits for handling 2008-05-23 02:28:01 +00:00
add.ll Teach masked value is zero about add and sub, and use MVIZ to 2008-03-21 05:19:58 +00:00
addnegneg.ll
align-2d-gep.ll Teach InstCombine's ComputeMaskedBits to handle pointer expressions 2008-04-10 18:43:06 +00:00
align-addr.ll Teach InstCombine's ComputeMaskedBits to handle pointer expressions 2008-04-10 18:43:06 +00:00
align-inc.ll
alloca.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
and2.ll
and-compare.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
and-or-and.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
and-or-not.ll
and-xor-merge.ll
and.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
apint-add1.ll
apint-add2.ll
apint-and1.ll
apint-and2.ll
apint-and-compare.ll
apint-and-or-and.ll
apint-and-xor-merge.ll
apint-call-cast-target.ll When simplifying a call to a bitcast function, tighten up 2008-06-01 07:38:42 +00:00
apint-cast-and-cast.ll
apint-cast-cast-to-and.ll
apint-cast.ll
apint-div1.ll
apint-div2.ll
apint-elim-logicalops.ll
apint-mul1.ll
apint-mul2.ll
apint-not.ll
apint-or1.ll
apint-or2.ll
apint-rem1.ll
apint-rem2.ll
apint-select.ll
apint-shift-simplify.ll
apint-shift.ll
apint-shl-trunc.ll
apint-sub.ll
apint-xor1.ll
apint-xor2.ll For PR1319: 2007-04-15 07:38:21 +00:00
apint-zext1.ll
apint-zext2.ll
binop-cast.ll
bit-tracking.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
bitcast-gep.ll
bitcast-vector-fold.ll
bitcount.ll
bittest.ll Update old-style syntax in some "not grep" tests. 2008-05-01 23:50:07 +00:00
bswap-fold.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
bswap.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
call2.ll
call-cast-target.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
call-intrinsics.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
call.ll Ignore stderr for some more tests that expect warnings there. 2008-06-10 16:13:38 +00:00
canonicalize_branch.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
cast2.ll
cast_ptr.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
cast-and-cast.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
cast-cast-to-and.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
cast-load-gep.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
cast-malloc.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
cast-propagate.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
cast-set.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
cast.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
CPP_min_max.ll rename *.llx -> *.ll, last batch. 2008-04-19 22:32:52 +00:00
deadcode.ll
dg.exp sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
div.ll implement PR2328. 2008-05-16 02:59:42 +00:00
extractvalue.ll Make testcase check for extractvalue instead of extractelement. 2008-06-16 13:03:44 +00:00
fold-vector-zero.ll
fp-ret-bitcast.ll Situations can arise when you have a function called that returns a 'void', but 2008-05-14 22:45:20 +00:00
fpcast.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
fpextend.ll
GEPIdxCanon.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
getelementptr_cast.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
getelementptr_const.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
getelementptr_index.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
getelementptr-setcc.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
getelementptr-seteq.ll optimize "p != gep p, ..." better. This allows us to compile 2008-04-22 02:53:33 +00:00
getelementptr.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
hoist_instr.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
icmp.ll
IntPtrCast.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
JavaCompare.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
known_align.ll
load2.ll
load.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
loadstore-alignment.ll
malloc2.ll
malloc3.ll
malloc-free-delete.ll
malloc.ll
memcpy-to-load.ll
memmove.ll Implement PR2370: memmove(x,x,size) -> noop. 2008-05-28 05:30:41 +00:00
memset.ll move lowering of llvm.memset -> store from simplify libcalls 2008-04-30 06:39:11 +00:00
mul-masked-bits.ll Fix a bug in the ComputeMaskedBits logic for multiply. 2008-05-07 00:35:55 +00:00
mul.ll Upgrade tests to not use llvm-upgrade. 2008-03-18 03:45:45 +00:00
narrow.ll
not-fcmp.ll It's safe to fold not of fcmp. 2007-08-06 20:04:16 +00:00
not.ll Implement PR2298. This transforms: 2008-05-09 05:19:28 +00:00
or2.ll
or.ll
phi-merge.ll
phi.ll
README.txt
rem.ll
select.ll
set.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
setcc-cast-cast.ll Update old-style syntax in some "not grep" tests. 2008-05-01 23:50:07 +00:00
setcc-strength-reduce.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
sext-misc.ll make truncate/sext elimination capable of changing phi's. This 2008-06-18 04:00:49 +00:00
shift-simplify.ll
shift-sra.ll
shift-trunc-shift.ll
shift.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
shl-icmp.ll Don't do: "(X & 4) >> 1 == 2 --> (X & 4) == 4" if there are more than one uses of the shift result. 2008-04-23 00:38:06 +00:00
shl-trunc.ll
signext.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
sink_instruction.ll
sitofp.ll Teach instcombine 4 new xforms: 2008-05-20 05:46:13 +00:00
srem-simplify-bug.ll Correct the value of LowBits in srem and urem handling in 2008-05-06 00:51:48 +00:00
srem.ll
stacksaverestore.ll
store-merge.ll
store.ll
sub.ll Implement PR2298. This transforms: 2008-05-09 05:19:28 +00:00
udiv_select_to_select_shift.ll
udiv-simplify-bug-0.ll Fix a mistake in the computation of leading zeros for udiv. 2008-05-02 21:30:02 +00:00
udiv-simplify-bug-1.ll Fix a mistake in the computation of leading zeros for udiv. 2008-05-02 21:30:02 +00:00
urem-simplify-bug.ll Fix an overaggressive SimplifyDemandedBits optimization on urem. This 2008-05-01 19:13:24 +00:00
urem.ll
vec_demanded_elts.ll
vec_extract_elt.ll
vec_insert_to_shuffle.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
vec_insertelt.ll
vec_narrow.ll
vec_shuffle.ll
vector-srem.ll
volatile_store.ll
xor2.ll
xor-undef.ll Handle a special case xor undef, undef -> 0. Technically this should be transformed to undef. But this is such a common idiom (misuse) we are going to handle it. 2008-03-25 20:07:13 +00:00
xor.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
zero-point-zero-add.ll
zeroext-and-reduce.ll
zext-fold.ll Peer through sext/zext when looking for not(cmp). 2008-05-31 19:01:33 +00:00
zext-or-icmp.ll Transform (zext (or (icmp), (icmp))) to (or (zext (cimp), (zext icmp))) if at least one of the (zext icmp) can be transformed to eliminate an icmp. 2008-03-24 00:21:34 +00:00
zext.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00

This directory contains test cases for the instcombine transformation.  The
dated tests are actual bug tests, whereas the named tests are used to test
for features that the this pass should be capable of performing.