llvm-project/llvm/test/Transforms/InstCombine
Bill Wendling 3716952f10 Situations can arise when you have a function called that returns a 'void', but
is bitcast to return a floating point value. The result of the instruction may
not be used by the program afterwards, and LLVM will happily remove all
instructions except the call. But, on some platforms, if a value is returned as
a floating point, it may need to be removed from the stack (like x87). Thus, we
can't get rid of the bitcast even if there isn't a use of the value.

llvm-svn: 51134
2008-05-14 22:45:20 +00:00
..
2002-03-11-InstCombineHang.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
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 Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
2002-08-02-CastTest.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2002-09-17-GetElementPtrCrash.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2002-12-05-MissedConstProp.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2003-05-26-CastMiscompile.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2003-05-27-ConstExprCrash.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2003-06-05-BranchInvertInfLoop.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2003-06-22-ConstantExprCrash.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2003-07-21-ExternalConstant.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
2003-08-12-AllocaNonNull.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2003-09-09-VolatileLoadElim.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2003-10-23-InstcombineNullFail.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2003-10-29-CallSiteResolve.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2003-11-03-VarargsCallBug.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
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 Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2004-02-23-ShiftShiftOverflow.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2004-03-13-InstCombineInfLoop.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2004-04-04-InstCombineReplaceAllUsesWith.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2004-05-07-UnsizedCastLoad.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2004-07-27-ConstantExprMul.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2004-08-09-RemInfLoop.ll rename *.llx -> *.ll, last batch. 2008-04-19 22:32:52 +00:00
2004-08-10-BoolSetCC.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2004-09-20-BadLoadCombine.ll rename *.llx -> *.ll, last batch. 2008-04-19 22:32:52 +00:00
2004-09-20-BadLoadCombine2.ll Update old-style syntax in some "not grep" tests. 2008-05-01 23:50:07 +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 Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2004-11-27-SetCCForCastLargerAndConstant.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
2004-12-08-InstCombineCrash.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2004-12-08-RemInfiniteLoop.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2005-03-04-ShiftOverflow.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2005-04-07-UDivSelectCrash.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2005-06-15-DivSelectCrash.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2005-06-15-ShiftSetCCCrash.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2005-06-16-RangeCrash.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2005-06-16-SetCCOrSetCCMiscompile.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2005-07-07-DeadPHILoop.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2006-02-07-SextZextCrash.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2006-02-13-DemandedMiscompile.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2006-02-28-Crash.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2006-03-30-ExtractElement.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2006-04-01-InfLoop.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
2006-04-28-ShiftShiftLongLong.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
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 Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2006-09-11-EmptyStructCrash.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
2006-09-15-CastToBool.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2006-10-19-SignedToUnsignedCastAndConst-2.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2006-10-19-SignedToUnsignedCastAndConst.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2006-10-20-mask.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2006-10-26-VectorReassoc.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2006-11-03-Memmove64.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2006-11-10-ashr-miscompile.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2006-11-27-XorBug.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2006-12-01-BadFPVectorXform.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2006-12-05-fp-to-int-ext.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
2006-12-08-ICmp-Combining.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
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 this test is now compiled into the right thing. 2008-01-28 17:38:46 +00:00
2007-01-14-FcmpSelf.ll For PR1319: 2007-04-14 20:13:02 +00:00
2007-01-18-VectorInfLoop.ll For PR761: 2007-01-26 08:25:06 +00:00
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 Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +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
2007-11-07-OpaqueAlignCrash.ll Better check 2007-11-08 18:45:15 +00:00
2007-11-15-CompareMiscomp.ll Fix PR1800 by correcting mistaken logic. 2007-11-16 06:04:17 +00:00
2007-11-22-IcmpCrash.ll Fix PR1817. 2007-11-22 23:47:13 +00:00
2007-11-25-CompatibleAttributes.ll Fix PR1816. If a bitcast of a function only exists because of a 2007-11-25 14:10:56 +00:00
2007-12-10-ConstFoldCompare.ll Fix PR1850 by removing an unsafe transformation from VMCore/ConstantFold.cpp. 2007-12-10 22:53:04 +00:00
2007-12-12-GEPScale.ll 1. "Upgrage" comments. 2007-12-12 15:21:32 +00:00
2007-12-16-AsmNoUnwind.ll Make instcombine promote inline asm calls to 'nounwind' 2007-12-16 15:51:49 +00:00
2007-12-18-AddSelCmpSub.ll Remove an orthogonal transformation of the selection condition from my most recent submission. 2007-12-18 20:30:28 +00:00
2007-12-28-IcmpSub2.ll Add a testcase for my recent InstCombine fix, written by Nicholas. 2007-12-28 21:08:43 +00:00
2008-01-06-BitCastAttributes.ll When turning a call to a bitcast function into a direct call, 2008-01-13 08:02:44 +00:00
2008-01-06-CastCrash.ll When transforming a call to a bitcast function into 2008-01-06 10:12:28 +00:00
2008-01-06-VoidCast.ll When transforming a call to a bitcast function into 2008-01-06 10:12:28 +00:00
2008-01-13-AndCmpCmp.ll Fix PR1907, a nasty miscompilation because instcombine didn't 2008-01-13 20:59:02 +00:00
2008-01-13-NoBitCastAttributes.ll When turning a call to a bitcast function into a direct call, 2008-01-13 08:02:44 +00:00
2008-01-14-DoubleNest.ll I noticed that the trampoline straightening transformation could 2008-01-14 19:52:09 +00:00
2008-01-14-VarArgTrampoline.ll I noticed that the trampoline straightening transformation could 2008-01-14 19:52:09 +00:00
2008-01-21-MismatchedCastAndCompare.ll Handle some more combinations of extend and icmp. Fixes PR1940. 2008-01-28 03:48:02 +00:00
2008-01-21-MulTrunc.ll Multiply can be evaluated in a different type, so long as the target type has 2008-01-22 05:08:48 +00:00
2008-01-27-FloatSelect.ll Fix PR1932 by disabling an xform invalid for fdiv. 2008-01-28 00:58:18 +00:00
2008-01-29-AddICmp.ll Tag this test with the PR reference. 2008-02-03 16:35:19 +00:00
2008-02-04-GEPIdxBug.ll Fix a bug compiling PR1978 (perhaps not the only one though) which 2008-02-05 04:45:32 +00:00
2008-02-13-MulURem.ll Commit the testcase too. 2008-03-06 06:50:03 +00:00
2008-02-16-SDivOverflow.ll Correctly fold divide-by-constant, even when faced with overflow. 2008-02-18 22:48:05 +00:00
2008-02-16-SDivOverflow2.ll Correctly fold divide-by-constant, even when faced with overflow. 2008-02-18 22:48:05 +00:00
2008-02-23-MulSub.ll fix this test so that the fn name doesn't match the regex 2008-02-26 18:13:51 +00:00
2008-02-28-OrFCmpCrash.ll Folding or(fcmp,fcmp) only works if the operands of the fcmps are the same fp type. 2008-02-29 06:09:11 +00:00
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
CPP_min_max.ll rename *.llx -> *.ll, last batch. 2008-04-19 22:32:52 +00:00
GEPIdxCanon.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
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
README.txt Regression is gone, don't try to find it on clean target. 2007-01-17 07:59:14 +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
add2.ll Implement PR1795, an instcombine hack for forming GEPs with integer pointer arithmetic. 2008-01-08 07:23:51 +00:00
addnegneg.ll Fold (-x + -y) -> -(x+y) which promotes better association, fixing 2008-02-17 21:03:36 +00:00
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 oops, forgot to commit this. 2007-08-12 16:55:14 +00:00
alloca.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
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 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 Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +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 Add test case for testing InstCombine with arbitrary precision integer 2007-03-23 20:48:34 +00:00
apint-cast-cast-to-and.ll Add test case for testing InstCombine with arbitrary precision integer 2007-03-23 20:48:34 +00:00
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 Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
bitcast-gep.ll new testcase 2007-04-28 00:54:45 +00:00
bitcast-vector-fold.ll Implement constant folding if vector<->vector bitcasts where the number 2007-12-11 07:29:44 +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 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
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 Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
call2.ll Test for transformConstExprCastCall fix. 2007-04-04 19:18:16 +00:00
canonicalize_branch.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
cast2.ll For PR1319: 2007-04-14 20:13:02 +00:00
cast_ptr.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
deadcode.ll dead calls to llvm.stacksave can be deleted, even though they 2007-12-29 00:59:12 +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 Upgrade tests to not use llvm-upgrade. 2008-03-18 03:45:45 +00:00
fold-vector-zero.ll Add support for folding binary operators with vector zero operands. 2007-10-30 19:00:49 +00:00
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 Fold fptrunc(add (fpextend x), (fpextend y)) -> add(x,y), as GCC does. 2008-01-27 05:29:54 +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
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
hoist_instr.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +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 Byebye llvm-upgrade! 2008-03-25 04:26:08 +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
memcpy-to-load.ll Turn a memcpy from a double* into a load/store of double instead of 2008-01-14 00:28:35 +00:00
memmove.ll move some tests from libcall optimizer suite. 2008-05-01 06:13:48 +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 Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
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
or.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +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 Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
rem.ll Don't try to simplify urem and srem using arithmetic rules that don't work 2008-03-06 06:48:30 +00:00
select.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
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 Teach InstCombine's ComputeMaskedBits what SelectionDAG's 2008-04-28 17:02:21 +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 Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
shift-trunc-shift.ll implement InstCombine/shift-trunc-shift.ll. This allows 2007-12-22 09:07:47 +00:00
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 Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
signext.ll Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
sink_instruction.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +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 Instcombine x-((x/y)*y) into a remainder operator. 2007-09-17 17:31:57 +00:00
stacksaverestore.ll optimize away stackrestore calls that have no intervening alloca or call. 2008-02-18 06:12:38 +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 Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
sub.ll Implement PR2298. This transforms: 2008-05-09 05:19:28 +00:00
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
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-simplify-bug.ll Fix an overaggressive SimplifyDemandedBits optimization on urem. This 2008-05-01 19:13:24 +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 Remove llvm-upgrade and update tests. 2008-03-09 08:16:40 +00:00
vec_insertelt.ll For PR1319: 2007-04-14 20:13:02 +00:00
vec_narrow.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +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-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
xor2.ll For PR1319: 2007-04-14 20:13:02 +00:00
zero-point-zero-add.ll eliminate additions of 0.0 when they are obviously dead. This has to be careful to 2008-01-29 06:52:45 +00:00
zeroext-and-reduce.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +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-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

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.