llvm/test/Transforms/InstCombine
Eric Christopher ea4b6dfd8f Rework constant expr and array handling for objectsize instcombining.
Fix bugs where we would compute out of bounds as in bounds, and where
we couldn't know that the linker could override the size of an array.

Add a few new testcases, change existing testcase to use a private
global array instead of extern.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95283 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-04 02:55:34 +00:00
..
2002-03-11-InstCombineHang.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2002-05-14-SubFailure.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2002-08-02-CastTest.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2002-12-05-MissedConstProp.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2003-05-26-CastMiscompile.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2003-05-27-ConstExprCrash.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2003-06-05-BranchInvertInfLoop.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2003-07-21-ExternalConstant.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2003-08-12-AllocaNonNull.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2003-09-09-VolatileLoadElim.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2003-10-29-CallSiteResolve.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2003-11-03-VarargsCallBug.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2003-11-13-ConstExprCastCall.ll Make opt default to not adding a target data string and update tests that depend on target data to supply it within the test 2009-11-03 15:29:06 +00:00
2004-01-13-InstCombineInvokePHI.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2004-02-23-ShiftShiftOverflow.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2004-03-13-InstCombineInfLoop.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2004-04-04-InstCombineReplaceAllUsesWith.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2004-05-07-UnsizedCastLoad.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2004-07-27-ConstantExprMul.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2004-08-09-RemInfLoop.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2004-08-10-BoolSetCC.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2004-09-20-BadLoadCombine2.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2004-09-20-BadLoadCombine.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2004-09-28-BadShiftAndSetCC.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2004-11-22-Missed-and-fold.ll
2004-11-27-SetCCForCastLargerAndConstant.ll Allow instcombine to combine "sext(a) >u const" to "a >u trunc(const)". 2009-12-17 22:42:29 +00:00
2004-12-08-RemInfiniteLoop.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2005-03-04-ShiftOverflow.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2005-04-07-UDivSelectCrash.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2005-06-15-DivSelectCrash.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2005-06-15-ShiftSetCCCrash.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2005-06-16-RangeCrash.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2005-06-16-SetCCOrSetCCMiscompile.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2005-07-07-DeadPHILoop.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2006-02-13-DemandedMiscompile.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2006-02-28-Crash.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2006-03-30-ExtractElement.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2006-04-28-ShiftShiftLongLong.ll Convert InstCombine tests from notcast to FileCheck. 2009-10-12 06:14:06 +00:00
2006-05-04-DemandedBitCrash.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2006-09-15-CastToBool.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2006-10-19-SignedToUnsignedCastAndConst-2.ll
2006-10-20-mask.ll
2006-10-26-VectorReassoc.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2006-11-03-Memmove64.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2006-11-10-ashr-miscompile.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2006-12-01-BadFPVectorXform.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2006-12-05-fp-to-int-ext.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2006-12-08-ICmp-Combining.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2006-12-08-Phi-ICmp-Op-Fold.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2006-12-08-Select-ICmp.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2006-12-15-Range-Test.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2006-12-23-Select-Cmp-Cmp.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-01-13-ExtCompareMiscompile.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-01-14-FcmpSelf.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-01-18-VectorInfLoop.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-01-27-AndICmp.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-02-01-LoadSinkAlloca.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-02-07-PointerCast.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-02-23-PhiFoldInfLoop.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-03-13-CompareMerge.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-03-19-BadTruncChangePR1261.ll
2007-03-21-SignedRangeTest.ll
2007-03-25-BadShiftMask.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-03-25-DoubleShift.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-03-26-BadShiftMask.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-04-04-BadFoldBitcastIntoMalloc.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-04-08-SingleEltVectorCrash.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-05-04-Crash.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-05-10-icmp-or.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-05-14-Crash.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-05-18-CastFoldBug.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-06-06-AshrSignBit.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-06-21-DivCompareMiscomp.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-08-02-InfiniteLoop.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-09-10-AliasConstFold.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-09-11-Trampoline.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-09-17-AliasConstFold2.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-10-10-EliminateMemCpy.ll Make opt default to not adding a target data string and update tests that depend on target data to supply it within the test 2009-11-03 15:29:06 +00:00
2007-10-12-Crash.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-10-28-stacksave.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-10-31-RangeCrash.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-10-31-StringCrash.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-11-07-OpaqueAlignCrash.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-11-15-CompareMiscomp.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-11-22-IcmpCrash.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-11-25-CompatibleAttributes.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-12-10-ConstFoldCompare.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-12-12-GEPScale.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-12-16-AsmNoUnwind.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-12-18-AddSelCmpSub.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2007-12-28-IcmpSub2.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-01-06-BitCastAttributes.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-01-06-CastCrash.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-01-06-VoidCast.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-01-13-AndCmpCmp.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-01-13-NoBitCastAttributes.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-01-14-DoubleNest.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-01-14-VarArgTrampoline.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-01-21-MismatchedCastAndCompare.ll Convert InstCombine tests from notcast to FileCheck. 2009-10-12 06:14:06 +00:00
2008-01-21-MulTrunc.ll make instcombine only rewrite a chain of computation 2009-11-07 19:11:46 +00:00
2008-01-27-FloatSelect.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-01-29-AddICmp.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-02-13-MulURem.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-02-16-SDivOverflow2.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-02-16-SDivOverflow.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-02-23-MulSub.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-02-28-OrFCmpCrash.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-03-13-IntToPtr.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-04-22-ByValBitcast.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-04-28-VolatileStore.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-04-29-VolatileLoadDontMerge.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-04-29-VolatileLoadMerge.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-05-08-LiveStoreDelete.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-05-08-StrLenSink.ll
2008-05-09-SinkOfInvoke.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-05-17-InfLoop.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-05-18-FoldIntToPtr.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-05-22-IDivVector.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-05-22-NegValVector.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-05-23-CompareFold.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-05-31-AddBool.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-05-31-Bools.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-06-05-ashr-crash.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-06-08-ICmpPHI.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-06-13-InfiniteLoopStore.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-06-13-ReadOnlyCallStore.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-06-19-UncondLoad.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-06-21-CompareMiscomp.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-06-24-StackRestore.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-07-08-AndICmp.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-07-08-ShiftOneAndOne.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-07-08-SubAnd.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-07-08-VolatileLoadMerge.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-07-09-SubAndError.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-07-10-CastSextBool.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-07-10-ICmpBinOp.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-07-11-RemAnd.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-07-13-DivZero.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-07-16-fsub.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-07-16-sse2_storel_dq.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-08-05-And.ll
2008-08-17-ICmpXorSignbit.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-09-02-VectorCrash.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-09-29-FoldingOr.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-10-11-DivCompareFold.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-10-23-ConstFoldWithoutMask.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-11-01-SRemDemandedBits.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-11-08-FCmp.ll Filecheckify this one test. 2009-09-27 06:25:05 +00:00
2008-11-20-DivMulRem.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-11-27-IDivVector.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-11-27-MultiplyIntVec.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-11-27-UDivNegative.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-12-17-SRemNegConstVec.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2009-01-05-i128-crash.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2009-01-08-AlignAlloca.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2009-01-16-PointerAddrSpace.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2009-01-19-fmod-constant-float-specials.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2009-01-19-fmod-constant-float.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2009-01-24-EmptyStruct.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2009-01-31-InfIterate.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2009-01-31-Pressure.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2009-02-04-FPBitcast.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2009-02-20-InstCombine-SROA.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2009-02-21-LoadCST.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2009-02-25-CrashZeroSizeArray.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2009-03-18-vector-ashr-crash.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2009-03-20-AShrOverShift.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2009-03-24-InfLoop.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2009-04-07-MulPromoteToI96.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2009-05-23-FCmpToICmp.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2009-06-11-StoreAddrSpace.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2009-06-16-SRemDemandedBits.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2009-07-02-MaskedIntVector.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2009-12-17-CmpSelectNull.ll Optimize icmp of null and select of two constants even if the select has 2009-12-18 08:22:35 +00:00
2010-01-28-NegativeSRem.ll Fix PR6165. The bug was that LHSKnownZero was being and'd with DemandedMask 2010-01-28 17:22:42 +00:00
add2.ll
add3.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
add-shrink.ll Code that checks WillNotOverflowSignedAdd before creating an Add 2009-10-26 22:14:22 +00:00
add-sitofp.ll Code that checks WillNotOverflowSignedAdd before creating an Add 2009-10-26 22:14:22 +00:00
add.ll
addnegneg.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
adjust-for-sminmax.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
align-2d-gep.ll Make opt default to not adding a target data string and update tests that depend on target data to supply it within the test 2009-11-03 15:29:06 +00:00
align-addr.ll Make opt default to not adding a target data string and update tests that depend on target data to supply it within the test 2009-11-03 15:29:06 +00:00
align-external.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
align-inc.ll Make opt default to not adding a target data string and update tests that depend on target data to supply it within the test 2009-11-03 15:29:06 +00:00
alloca.ll Make opt default to not adding a target data string and update tests that depend on target data to supply it within the test 2009-11-03 15:29:06 +00:00
and2.ll
and-compare.ll
and-fcmp.ll
and-not-or.ll
and-or-and.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
and-or-not.ll
and-or.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
and-xor-merge.ll
and.ll
apint-add1.ll
apint-add2.ll
apint-and1.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
apint-and2.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
apint-and-compare.ll
apint-and-or-and.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
apint-and-xor-merge.ll
apint-call-cast-target.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
apint-cast-and-cast.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
apint-cast-cast-to-and.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
apint-cast.ll make instcombine only rewrite a chain of computation 2009-11-07 19:11:46 +00:00
apint-div1.ll
apint-div2.ll
apint-mul1.ll
apint-mul2.ll
apint-not.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
apint-or1.ll
apint-or2.ll
apint-rem1.ll
apint-rem2.ll
apint-select.ll
apint-shift-simplify.ll
apint-shift.ll change the preferred canonical form for a sign extension to be 2010-01-10 07:08:30 +00:00
apint-shl-trunc.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
apint-sub.ll
apint-xor1.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
apint-xor2.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
apint-zext1.ll Convert the rest of the InstCombine tests from notcast to FileCheck. 2009-10-12 07:18:14 +00:00
apint-zext2.ll Convert the rest of the InstCombine tests from notcast to FileCheck. 2009-10-12 07:18:14 +00:00
ashr-nop.ll
badmalloc.ll instcombine shouldn't delete all null checks for mallocs. 2009-10-05 02:47:47 +00:00
binop-cast.ll Convert the rest of the InstCombine tests from notcast to FileCheck. 2009-10-12 07:18:14 +00:00
bit-tracking.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
bitcast-scalar-to-vector.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
bitcast-sext-vector.ll InstCombine should not fold sext/zext of a vector and a bitcast to a scalar to a sext/zext 2010-01-23 04:35:57 +00:00
bitcast-vec-canon.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
bitcast-vector-fold.ll
bitcount.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
bittest.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
bswap-fold.ll implement the transform requested in PR5284 2010-01-01 18:34:40 +00:00
bswap.ll remove two trunc xforms that are subsumed by EvaluateInDifferentType. 2010-01-05 22:01:41 +00:00
call2.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
call-cast-target.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
call-intrinsics.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
call.ll fix rdar://7590304, a miscompilation of objc apps on arm. The caller 2010-02-01 18:11:34 +00:00
canonicalize_branch.ll filecheckize this. 2010-01-18 22:00:46 +00:00
cast_ptr.ll merge some tests. 2010-01-05 21:54:09 +00:00
cast-mul-select.ll unify the code that determines whether it is a good idea to change the type 2009-11-10 07:23:37 +00:00
cast-set.ll make instcombine only rewrite a chain of computation 2009-11-07 19:11:46 +00:00
cast.ll disable this testcase, PR5997 2010-01-11 23:18:33 +00:00
compare-signs.ll Fix some CHECK lines which were ignored by accident. 2009-12-12 09:25:50 +00:00
constant-fold-compare.ll Aggressively flip compare constant expressions where appropriate; constant 2009-12-17 06:07:04 +00:00
constant-fold-gep.ll Make opt default to not adding a target data string and update tests that depend on target data to supply it within the test 2009-11-03 15:29:06 +00:00
constant-fold-ptr-casts.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
CPP_min_max.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
crash.ll fix rdar://7590304, an infinite loop in instcombine. In the invoke 2010-02-01 18:04:58 +00:00
dce-iterate.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
deadcode.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
dg.exp
div-cmp-overflow.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
div.ll
enforce-known-alignment.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
exact-sdiv.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
extractvalue.ll
fold-bin-operand.ll Make opt default to not adding a target data string and update tests that depend on target data to supply it within the test 2009-11-03 15:29:06 +00:00
fold-vector-zero.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
fp-ret-bitcast.ll Make opt default to not adding a target data string and update tests that depend on target data to supply it within the test 2009-11-03 15:29:06 +00:00
fpcast.ll Convert the rest of the InstCombine tests from notcast to FileCheck. 2009-10-12 07:18:14 +00:00
fpextend.ll
fsub.ll Reduce fsub-fadd.ll and merge it into fsub-fsub.ll. Rename fsub-fsub.ll to 2010-01-17 00:21:21 +00:00
getelementptr.ll Generalize target-independent folding rules for sizeof to handle more 2010-02-01 18:27:38 +00:00
hoist_instr.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
icmp.ll fix PR6195, a bug constant folding scalar -> vector compares. 2010-02-01 20:04:40 +00:00
idioms.ll optimize ~(~X >>s Y) --> (X >>s Y), patch by Edmund Grimley 2010-01-19 18:16:19 +00:00
IntPtrCast.ll Convert the rest of the InstCombine tests from notcast to FileCheck. 2009-10-12 07:18:14 +00:00
intrinsics.ll implement a simple instcombine xform that has been in the 2010-01-23 18:49:30 +00:00
invariant.ll Don't trivially delete unused calls to llvm.invariant.start. This allows 2009-11-11 15:34:13 +00:00
JavaCompare.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
known_align.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
load2.ll
load3.ll
load-cmp.ll Truncate GEP indexes larger than the pointer size down to pointer size 2010-01-04 18:57:15 +00:00
load-select.ll Remove ARM-specific calling convention from this test. Target data is 2010-01-30 00:40:23 +00:00
load.ll clean up tests. 2010-01-05 21:32:59 +00:00
loadstore-alignment.ll Delete useless trailing semicolons. 2010-01-05 17:55:26 +00:00
logical-select.ll change the canonical form of "cond ? -1 : 0" to be 2010-01-24 00:09:49 +00:00
lshr-phi.ll
malloc2.ll Make changes to rev 84292 as requested by Chris Lattner. 2009-10-21 19:11:40 +00:00
malloc3.ll Autoupgrade malloc insts to malloc calls. 2009-10-17 00:00:19 +00:00
malloc-free-delete.ll Auto-upgrade free instructions to calls to the builtin free function. 2009-10-24 04:23:03 +00:00
malloc.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
memcpy-to-load.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
memcpy.ll Slightly generalize transformation of memmove(a,a,n) so that it also applies 2009-12-17 21:07:31 +00:00
memmove.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
memset.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
mul-masked-bits.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
mul.ll generalize a transformation even more: we don't care whether the 2009-10-11 21:29:45 +00:00
multi-use-or.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
narrow.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
no-negzero.ll Handle sqrt in CannotBeNegativeZero. absf and absl 2009-09-25 20:54:50 +00:00
not-fcmp.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
not.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
nothrow.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
nsw.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
objsize.ll Rework constant expr and array handling for objectsize instcombining. 2010-02-04 02:55:34 +00:00
odr-linkage.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
or-fcmp.ll
or-to-xor.ll
or.ll don't turn (A & (C0?-1:0)) | (B & ~(C0?-1:0)) -> C0 ? A : B 2010-02-02 02:43:51 +00:00
phi-merge-gep.ll Fix the comment in this test. 2009-09-16 16:33:59 +00:00
phi.ll enhance PHI slicing to handle the case when a slicable PHI is begin 2009-11-09 01:38:00 +00:00
pr2645-0.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
pr2645-1.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
pr2996.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
preserve-sminmax.ll Convert a few tests to FileCheck for PR5307. 2009-10-26 22:52:03 +00:00
ptr-int-cast.ll Make opt default to not adding a target data string and update tests that depend on target data to supply it within the test 2009-11-03 15:29:06 +00:00
README.txt
rem.ll
sdiv-1.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
sdiv-2.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
sdiv-shift.ll
select-2.ll
select-load-call.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
select.ll add check lines for min/max tests. 2009-12-21 06:08:50 +00:00
set.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
setcc-strength-reduce.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
sext.ll merge sext-2 into sext.ll 2009-12-02 05:34:35 +00:00
shift-simplify.ll
shift-sra.ll teach instcombine to delete sign extending shift pairs (sra(shl X, C), C) when 2010-01-08 19:04:21 +00:00
shift-trunc-shift.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
shift.ll merge test into shift.ll, this also eliminates awful grepping on -stats output 2009-10-11 22:39:58 +00:00
shufflemask-undef.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
shufflevec-constant.ll Make ConstantFoldConstantExpression recursively visit the entire 2009-11-23 16:22:21 +00:00
signed-comparison.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
signext.ll Simplify/generalize the xor+add->sign-extend instcombine. 2010-01-31 04:29:12 +00:00
simplify-demanded-bits-pointer.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
sink_instruction.ll make instcombine's instruction sinking more aggressive in the 2009-10-14 15:21:58 +00:00
sitofp.ll
srem1.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
srem-simplify-bug.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
srem.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
stack-overalign.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
stacksaverestore.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
store.ll Fix PR5471 by removing an instcombine xform. Some pieces of the code 2009-11-26 22:04:42 +00:00
sub.ll Add a small transform: transform -(X<<Y) to (-X<<Y) when the shift has a single 2010-01-31 02:30:23 +00:00
trunc-mask-ext.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
udiv_select_to_select_shift.ll
udiv-simplify-bug-0.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
udiv-simplify-bug-1.ll
udivrem-change-width.ll make instcombine only rewrite a chain of computation 2009-11-07 19:11:46 +00:00
urem-simplify-bug.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
urem.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
vec_demanded_elts-2.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
vec_demanded_elts-3.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
vec_demanded_elts.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
vec_extract_elt.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
vec_insertelt.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
vec_narrow.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
vec_shuffle.ll reduce vec_shuffle2 and merge into vec_shuffle. 2009-10-11 22:54:48 +00:00
vector-casts.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
vector-srem.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
volatile_store.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
xor2.ll optimize ~(~X >>s Y) --> (X >>s Y), patch by Edmund Grimley 2010-01-19 18:16:19 +00:00
xor-undef.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
xor.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
zero-point-zero-add.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
zeroext-and-reduce.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
zext-bool-add-sub.ll
zext-fold.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
zext-or-icmp.ll
zext.ll Remove this part of the test, it never actually tested anything anyways. This 2009-10-12 06:32:42 +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.