hanchenye-llvm-project/llvm/test/Transforms/InstCombine
Chris Lattner d8515f8e80 Implement PR1777 by detecting dependent phis that
all compute the same value.

llvm-svn: 43777
2007-11-06 21:52:06 +00:00
..
2002-03-11-InstCombineHang.ll
2002-05-14-SubFailure.ll don't use 'not' when we can use a positive test 2007-03-28 01:43:43 +00:00
2002-05-14-TouchDeletedInst.ll For PR1319: 2007-04-15 07:38:21 +00:00
2002-08-02-CastTest.ll For PR1319: 2007-04-14 20:13:02 +00:00
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 For PR1319: 2007-04-15 07:38:21 +00:00
2003-08-12-AllocaNonNull.ll For PR1319: 2007-04-14 20:13:02 +00:00
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
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.llx
2004-08-10-BoolSetCC.ll Changes to fix problems with "make check". Apparently you can redefine 2007-04-14 22:51:29 +00:00
2004-09-20-BadLoadCombine.llx For PR1319: 2007-04-14 20:13:02 +00:00
2004-09-20-BadLoadCombine2.llx For PR1319: 2007-04-14 20:13:02 +00:00
2004-09-28-BadShiftAndSetCC.llx
2004-11-22-Missed-and-fold.ll
2004-11-27-SetCCForCastLargerAndConstant.ll For PR1319: 2007-04-15 07:38:21 +00:00
2004-12-08-InstCombineCrash.ll
2004-12-08-RemInfiniteLoop.ll
2005-03-04-ShiftOverflow.ll For PR1319: 2007-04-14 20:13:02 +00:00
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 For PR1319: 2007-04-14 20:13:02 +00:00
2005-07-07-DeadPHILoop.ll
2006-02-07-SextZextCrash.ll
2006-02-13-DemandedMiscompile.ll For PR1319: 2007-04-14 20:13:02 +00:00
2006-02-28-Crash.ll
2006-03-30-ExtractElement.ll
2006-04-01-InfLoop.ll For PR1319: 2007-04-15 07:38:21 +00:00
2006-04-28-ShiftShiftLongLong.ll For PR1319: 2007-04-14 20:13:02 +00:00
2006-05-04-DemandedBitCrash.ll For PR1319: 2007-04-15 07:38:21 +00:00
2006-05-06-Infloop.ll For PR1319: 2007-04-15 07:38:21 +00:00
2006-06-28-infloop.ll
2006-09-11-EmptyStructCrash.ll For PR1319: 2007-04-15 07:38:21 +00:00
2006-09-15-CastToBool.ll
2006-10-19-SignedToUnsignedCastAndConst-2.ll For PR1319: 2007-04-14 20:13:02 +00:00
2006-10-19-SignedToUnsignedCastAndConst.ll For PR1319: 2007-04-14 20:13:02 +00:00
2006-10-20-mask.ll For PR1319: 2007-04-14 20:13:02 +00:00
2006-10-26-VectorReassoc.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
2006-11-03-Memmove64.ll For PR1319: 2007-04-14 20:13:02 +00:00
2006-11-10-ashr-miscompile.ll
2006-11-27-XorBug.ll For PR1319: 2007-04-14 20:13:02 +00:00
2006-12-01-BadFPVectorXform.ll For PR1319: 2007-04-14 20:13:02 +00:00
2006-12-05-fp-to-int-ext.ll
2006-12-08-ICmp-Combining.ll For PR1319: 2007-04-14 20:13:02 +00:00
2006-12-08-Phi-ICmp-Op-Fold.ll For PR1319: 2007-04-14 20:13:02 +00:00
2006-12-08-Select-ICmp.ll For PR1319: 2007-04-15 07:38:21 +00:00
2006-12-10-ICmp-GEP-GEP.ll For PR1319: 2007-04-15 07:38:21 +00:00
2006-12-15-Range-Test.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
2006-12-23-Select-Cmp-Cmp.ll For PR1319: 2007-04-15 07:38:21 +00:00
2007-01-13-ExtCompareMiscompile.ll
2007-01-14-FcmpSelf.ll For PR1319: 2007-04-14 20:13:02 +00:00
2007-01-18-VectorInfLoop.ll
2007-01-27-AndICmp.ll For PR1319: 2007-04-14 20:13:02 +00:00
2007-02-01-LoadSinkAlloca.ll For PR1319: 2007-04-14 20:13:02 +00:00
2007-02-07-PointerCast.ll For PR1319: 2007-04-14 20:13:02 +00:00
2007-02-23-PhiFoldInfLoop.ll Remove use of implementation keyword. 2007-03-28 02:38:26 +00:00
2007-03-13-CompareMerge.ll For PR1319: 2007-04-14 20:13:02 +00:00
2007-03-19-BadTruncChangePR1261.ll this xform is correct, not an xfail 2007-04-08 08:02:39 +00:00
2007-03-21-SignedRangeTest.ll For PR1319: 2007-04-14 20:13:02 +00:00
2007-03-25-BadShiftMask.ll For PR1319: 2007-04-14 20:13:02 +00:00
2007-03-25-DoubleShift.ll Add a test case for PR1271 (necessary, but not sufficient). 2007-03-25 21:30:41 +00:00
2007-03-26-BadShiftMask.ll For PR1319: 2007-04-15 07:38:21 +00:00
2007-03-27-PR1280.ll For PR1319: 2007-04-14 20:13:02 +00:00
2007-03-31-InfiniteLoop.ll For PR1319: 2007-04-14 20:13:02 +00:00
2007-04-04-BadFoldBitcastIntoMalloc.ll For PR1319: 2007-04-16 17:36:08 +00:00
2007-04-08-SingleEltVectorCrash.ll new testcase for PR1304 2007-04-09 01:37:35 +00:00
2007-05-04-Crash.ll new testacse for PR1384 2007-05-05 01:59:05 +00:00
2007-05-10-icmp-or.ll new testcase that crashes instcombine 2007-05-11 05:55:38 +00:00
2007-05-14-Crash.ll New testcase that crashes instcombine 2007-05-15 00:15:49 +00:00
2007-05-18-CastFoldBug.ll new testcase 2007-05-19 06:50:37 +00:00
2007-06-06-AshrSignBit.ll Add a test for PR1499. 2007-06-06 17:10:02 +00:00
2007-06-21-DivCompareMiscomp.ll new testcase miscompiled by instcombine, reduced from perl 2007-06-21 18:09:25 +00:00
2007-08-02-InfiniteLoop.ll Reduced testcase for PR1594 2007-08-02 17:11:24 +00:00
2007-09-05-EqualGEP.ll When the two operands of an icmp are equal, there are five possible predicates 2007-09-06 01:10:22 +00:00
2007-09-10-AliasConstFold.ll Fix a buggy constant folding transformation when handling aliases. 2007-09-10 23:42:42 +00:00
2007-09-11-Trampoline.ll Test that a call to a trampoline is turned into a call to 2007-09-11 15:07:50 +00:00
2007-09-17-AliasConstFold2.ll Testcase for PR1678. 2007-09-20 18:56:24 +00:00
2007-10-10-EliminateMemCpy.ll This test now passes. 2007-10-19 17:11:01 +00:00
2007-10-12-Crash.ll Fix a bug in my patch last night that broke InstCombine/2007-10-12-Crash.ll 2007-10-12 18:05:47 +00:00
2007-10-28-EmptyField.ll Fix PR1749 and InstCombine/2007-10-28-EmptyField.ll by handling 2007-10-29 02:40:02 +00:00
2007-10-28-stacksave.ll Model stacksave and stackrestore as both writing memory, since we 2007-10-29 05:47:52 +00:00
2007-10-31-RangeCrash.ll Fix InstCombine/2007-10-31-RangeCrash.ll 2007-11-01 02:18:41 +00:00
2007-10-31-StringCrash.ll Fix InstCombine/2007-10-31-StringCrash.ll by removing an obvious 2007-11-01 02:30:35 +00:00
CPP_min_max.llx For PR1319: 2007-04-15 07:38:21 +00:00
GEPIdxCanon.ll For PR1319: 2007-04-14 20:13:02 +00:00
IntPtrCast.ll
JavaCompare.ll For PR1319: 2007-04-14 20:13:02 +00:00
README.txt
add.ll For PR1319: 2007-04-16 17:36:08 +00:00
add2.ll For PR1319: 2007-04-16 17:36:08 +00:00
align-inc.ll oops, forgot to commit this. 2007-08-12 16:55:14 +00:00
alloca.ll For PR1319: 2007-04-14 20:13:02 +00:00
and-compare.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
and-or-and.ll For PR1319: 2007-04-15 07:38:21 +00:00
and-or-not.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
and-xor-merge.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
and.ll For PR1319: 2007-04-15 07:38:21 +00:00
and2.ll Implement a couple of foldings for ordered and unordered comparisons, 2007-10-24 05:38:08 +00:00
apint-add1.ll For PR1319: 2007-04-14 20:13:02 +00:00
apint-add2.ll For PR1319: 2007-04-15 07:38:21 +00:00
apint-and-compare.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
apint-and-or-and.ll For PR1319: 2007-04-15 07:38:21 +00:00
apint-and-xor-merge.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
apint-and1.ll For PR1319: 2007-04-15 07:38:21 +00:00
apint-and2.ll For PR1319: 2007-04-15 07:38:21 +00:00
apint-call-cast-target.ll Remove use of implementation keyword. 2007-03-28 02:38:26 +00:00
apint-cast-and-cast.ll
apint-cast-cast-to-and.ll
apint-cast.ll For PR1319: 2007-04-14 20:13:02 +00:00
apint-div1.ll bool -> i1 (found by llvm.exp) 2007-04-14 18:30:06 +00:00
apint-div2.ll bool -> i1 (found by llvm.exp) 2007-04-14 18:30:06 +00:00
apint-elim-logicalops.ll For PR1319: 2007-04-14 20:13:02 +00:00
apint-mul1.ll Remove use of implementation keyword. 2007-03-28 02:38:26 +00:00
apint-mul2.ll Remove use of implementation keyword. 2007-03-28 02:38:26 +00:00
apint-not.ll Fix testsuite hang. 2007-03-26 10:59:13 +00:00
apint-or1.ll Remove use of implementation keyword. 2007-03-28 02:38:26 +00:00
apint-or2.ll For PR1319: 2007-04-14 20:13:02 +00:00
apint-rem1.ll For PR1319: 2007-04-14 20:13:02 +00:00
apint-rem2.ll For PR1319: 2007-04-14 20:13:02 +00:00
apint-select.ll For PR1319: 2007-04-14 20:13:02 +00:00
apint-shift-simplify.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
apint-shift.ll For PR1319: 2007-04-14 20:13:02 +00:00
apint-shl-trunc.ll For PR1319: 2007-04-14 20:13:02 +00:00
apint-sub.ll For PR1319: 2007-04-15 07:38:21 +00:00
apint-xor1.ll For PR1319: 2007-04-14 20:13:02 +00:00
apint-xor2.ll For PR1319: 2007-04-15 07:38:21 +00:00
apint-zext1.ll For PR1319: 2007-04-14 20:13:02 +00:00
apint-zext2.ll For PR1319: 2007-04-14 20:13:02 +00:00
binop-cast.ll Fix a test test llvm.exp found. 2007-04-14 18:33:31 +00:00
bit-tracking.ll For PR1319: 2007-04-14 20:13:02 +00:00
bitcast-gep.ll new testcase 2007-04-28 00:54:45 +00:00
bitcount.ll This is the patch to provide clean intrinsic function overloading support in LLVM. It cleans up the intrinsic definitions and generally smooths the process for more complicated intrinsic writing. It will be used by the upcoming atomic intrinsics as well as vector and float intrinsics in the future. 2007-08-04 01:51:18 +00:00
bittest.ll For PR1319: 2007-04-14 20:13:02 +00:00
bswap-fold.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
bswap.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
call-cast-target.ll For PR1319: 2007-04-14 20:13:02 +00:00
call-intrinsics.ll
call.ll For PR1319: 2007-04-15 07:38:21 +00:00
call2.ll Test for transformConstExprCastCall fix. 2007-04-04 19:18:16 +00:00
canonicalize_branch.ll For PR1319: 2007-04-14 20:13:02 +00:00
cast-and-cast.ll For PR1319: 2007-04-14 20:13:02 +00:00
cast-cast-to-and.ll For PR1319: 2007-04-14 20:13:02 +00:00
cast-load-gep.ll For PR1319: 2007-04-14 20:13:02 +00:00
cast-malloc.ll
cast-propagate.ll For PR1319: 2007-04-14 20:13:02 +00:00
cast-set.ll
cast.ll For PR1319: 2007-04-15 07:38:21 +00:00
cast2.ll For PR1319: 2007-04-14 20:13:02 +00:00
cast_ptr.ll un-xfail this. 2007-05-05 22:41:13 +00:00
deadcode.ll For PR1319: 2007-04-14 20:13:02 +00:00
dg.exp Changes to fix problems with "make check". Apparently you can redefine 2007-04-14 22:51:29 +00:00
div.ll For PR1319: 2007-04-15 07:38:21 +00:00
fold-vector-zero.ll Add support for folding binary operators with vector zero operands. 2007-10-30 19:00:49 +00:00
fpcast.ll This test needs to use egrep. 2007-04-14 20:02:51 +00:00
getelementptr-setcc.ll For PR1319: 2007-04-15 07:38:21 +00:00
getelementptr.ll For PR1319: 2007-04-15 07:38:21 +00:00
getelementptr_cast.ll For PR1319: 2007-04-14 20:13:02 +00:00
getelementptr_const.ll For PR1319: 2007-04-14 20:13:02 +00:00
getelementptr_index.ll
hoist_instr.ll For PR1319: 2007-04-14 20:13:02 +00:00
icmp.ll For PR1319: 2007-04-14 20:13:02 +00:00
known_align.ll Fix a bug in GetKnownAlignment of packed structs. 2007-07-31 20:13:21 +00:00
load.ll Change all floating constants that are not exactly 2007-09-05 17:50:36 +00:00
load2.ll Transform a load from an undef/zero global into an undef/global even if we 2007-08-11 18:48:48 +00:00
loadstore-alignment.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
malloc-free-delete.ll For PR1319: 2007-04-14 20:13:02 +00:00
malloc.ll new testcase, update old one. 2007-04-06 18:56:54 +00:00
malloc2.ll For PR1319: 2007-04-14 20:13:02 +00:00
malloc3.ll testcase for PR1728 2007-10-12 05:29:53 +00:00
memmove.ll This test should have been updated with llvm 1.7! 2007-04-14 20:21:37 +00:00
mul.ll rename function to avoid llvm-upgrade warning 2007-07-16 04:09:00 +00:00
narrow.ll For PR1319: 2007-04-14 20:13:02 +00:00
not-fcmp.ll It's safe to fold not of fcmp. 2007-08-06 20:04:16 +00:00
not.ll
or.ll For PR1319: 2007-04-15 07:38:21 +00:00
or2.ll Implement a couple of foldings for ordered and unordered comparisons, 2007-10-24 05:38:08 +00:00
phi-merge.ll Implement PR1777 by detecting dependent phis that 2007-11-06 21:52:06 +00:00
phi.ll For PR1319: 2007-04-15 07:38:21 +00:00
rem.ll For PR1319: 2007-04-15 07:38:21 +00:00
select.ll For PR1319: 2007-04-15 07:38:21 +00:00
set.ll For PR1319: 2007-04-14 20:13:02 +00:00
setcc-cast-cast.ll For PR1319: 2007-04-14 20:13:02 +00:00
setcc-strength-reduce.ll For PR1319: 2007-04-14 20:13:02 +00:00
shift-simplify.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
shift-sra.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
shift.ll For PR1319: 2007-04-14 20:13:02 +00:00
shl-trunc.ll
signext.ll For PR1319: 2007-04-15 07:38:21 +00:00
sink_instruction.ll For PR1319: 2007-04-14 20:13:02 +00:00
srem.ll Instcombine x-((x/y)*y) into a remainder operator. 2007-09-17 17:31:57 +00:00
stacksaverestore.ll update testcase 2007-10-29 17:06:35 +00:00
store-merge.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
store.ll For PR1319: 2007-04-14 20:13:02 +00:00
sub.ll For PR1319: 2007-04-14 20:13:02 +00:00
udiv_select_to_select_shift.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
urem.ll Instcombine x-((x/y)*y) into a remainder operator. 2007-09-17 17:31:57 +00:00
vec_demanded_elts.ll manually upgrade test. Add a new test2. I have no way to see if this works 2007-04-14 22:27:33 +00:00
vec_extract_elt.ll new testcase 2007-04-14 23:00:51 +00:00
vec_insert_to_shuffle.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
vec_insertelt.ll For PR1319: 2007-04-14 20:13:02 +00:00
vec_narrow.ll For PR1319: 2007-04-14 20:13:02 +00:00
vec_shuffle.ll For PR1319: 2007-04-15 07:38:21 +00:00
vector-srem.ll Fix an abort in instcombine when folding creates a vector rem instruction. 2007-11-05 23:16:33 +00:00
volatile_store.ll Don't zap back to back volatile load/stores 2007-09-07 05:33:03 +00:00
xor.ll For PR1319: 2007-04-14 20:13:02 +00:00
xor2.ll For PR1319: 2007-04-14 20:13:02 +00:00
zeroext-and-reduce.ll For PR1319: 2007-04-14 20:13:02 +00:00
zext-fold.ll Convert tests using "| wc -l | grep ..." to use the count script. 2007-08-15 13:36:28 +00:00
zext.ll For PR1319: 2007-04-14 20:13:02 +00:00

README.txt

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.