1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
llvm-mirror/test/Transforms/InstCombine
Dan Gohman d240c19451 Change getelementptr folding to use APInt instead of uint64_t for
offset computations. This fixes a truncation bug on targets that
don't have 64-bit pointers.

llvm-svn: 79639
2009-08-21 16:52:54 +00:00
..
2002-03-11-InstCombineHang.ll
2002-05-14-SubFailure.ll
2002-05-14-TouchDeletedInst.ll
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
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
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
2004-08-10-BoolSetCC.ll
2004-09-20-BadLoadCombine2.ll
2004-09-20-BadLoadCombine.ll
2004-09-28-BadShiftAndSetCC.ll
2004-11-22-Missed-and-fold.ll
2004-11-27-SetCCForCastLargerAndConstant.ll
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
2006-04-28-ShiftShiftLongLong.ll
2006-05-04-DemandedBitCrash.ll
2006-05-06-Infloop.ll
2006-06-28-infloop.ll
2006-09-11-EmptyStructCrash.ll
2006-09-15-CastToBool.ll
2006-10-19-SignedToUnsignedCastAndConst-2.ll
2006-10-19-SignedToUnsignedCastAndConst.ll
2006-10-20-mask.ll
2006-10-26-VectorReassoc.ll Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
2006-11-03-Memmove64.ll
2006-11-10-ashr-miscompile.ll
2006-11-27-XorBug.ll
2006-12-01-BadFPVectorXform.ll Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
2006-12-05-fp-to-int-ext.ll
2006-12-08-ICmp-Combining.ll
2006-12-08-Phi-ICmp-Op-Fold.ll
2006-12-08-Select-ICmp.ll
2006-12-10-ICmp-GEP-GEP.ll
2006-12-15-Range-Test.ll
2006-12-23-Select-Cmp-Cmp.ll
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
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
2008-01-21-MulTrunc.ll
2008-01-27-FloatSelect.ll
2008-01-29-AddICmp.ll
2008-02-04-GEPIdxBug.ll Teach instcombine to respect and preserve inbounds. Add inbounds 2009-07-28 01:40:03 +00:00
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
2008-04-22-ByValBitcast.ll
2008-04-28-VolatileStore.ll
2008-04-29-VolatileLoadDontMerge.ll
2008-04-29-VolatileLoadMerge.ll
2008-05-08-LiveStoreDelete.ll
2008-05-08-StrLenSink.ll
2008-05-09-SinkOfInvoke.ll
2008-05-17-InfLoop.ll
2008-05-18-FoldIntToPtr.ll
2008-05-22-IDivVector.ll
2008-05-22-NegValVector.ll
2008-05-23-CompareFold.ll
2008-05-31-AddBool.ll
2008-05-31-Bools.ll
2008-06-05-ashr-crash.ll
2008-06-08-ICmpPHI.ll
2008-06-13-InfiniteLoopStore.ll
2008-06-13-ReadOnlyCallStore.ll
2008-06-19-UncondLoad.ll
2008-06-21-CompareMiscomp.ll
2008-06-24-StackRestore.ll
2008-07-08-AndICmp.ll
2008-07-08-ShiftOneAndOne.ll
2008-07-08-SubAnd.ll
2008-07-08-VolatileLoadMerge.ll
2008-07-09-SubAndError.ll
2008-07-10-CastSextBool.ll
2008-07-10-ICmpBinOp.ll
2008-07-11-RemAnd.ll
2008-07-13-DivZero.ll
2008-07-16-fsub.ll Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
2008-07-16-sse2_storel_dq.ll
2008-08-05-And.ll
2008-08-17-ICmpXorSignbit.ll
2008-09-02-VectorCrash.ll
2008-09-29-FoldingOr.ll
2008-10-11-DivCompareFold.ll
2008-10-23-ConstFoldWithoutMask.ll
2008-11-01-SRemDemandedBits.ll
2008-11-08-FCmp.ll
2008-11-20-DivMulRem.ll
2008-11-27-IDivVector.ll
2008-11-27-MultiplyIntVec.ll
2008-11-27-UDivNegative.ll
2008-12-17-SRemNegConstVec.ll
2009-01-05-i128-crash.ll
2009-01-08-AlignAlloca.ll
2009-01-16-PointerAddrSpace.ll
2009-01-19-fmod-constant-float-specials.ll
2009-01-19-fmod-constant-float.ll
2009-01-24-EmptyStruct.ll
2009-01-31-InfIterate.ll
2009-01-31-Pressure.ll
2009-02-04-FPBitcast.ll
2009-02-20-InstCombine-SROA.ll
2009-02-21-LoadCST.ll
2009-02-25-CrashZeroSizeArray.ll
2009-03-02-VarLengthArrayGEP.ll
2009-03-18-vector-ashr-crash.ll
2009-03-20-AShrOverShift.ll
2009-03-24-InfLoop.ll
2009-04-06-GEP-Index-Crash.ll
2009-04-07-MulPromoteToI96.ll
2009-05-23-FCmpToICmp.ll Fix bug in FoldFCmp_IntToFP_Cst. If inttofp is a uintofp, use unsigned instead of signed integer constant. 2009-05-22 23:10:53 +00:00
2009-06-11-StoreAddrSpace.ll fix testcase to properly check for the patch in r73195. 2009-06-15 05:46:02 +00:00
2009-06-16-SRemDemandedBits.ll Correct an accidental duplication of the test (patch doesn't handle 2009-06-17 03:05:00 +00:00
2009-07-02-MaskedIntVector.ll do not try to analyze bitcasts from i64 to <2 x i32> in ComputedMaskedBits. While 2009-07-02 16:04:08 +00:00
add2.ll Revert the addition of hasNoPointerOverflow to GEPOperator. 2009-07-20 17:43:30 +00:00
add3.ll Revert the addition of hasNoPointerOverflow to GEPOperator. 2009-07-20 17:43:30 +00:00
add-shrink.ll
add-sitofp.ll Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
add.ll
addnegneg.ll
adjust-for-sminmax.ll
align-2d-gep.ll
align-addr.ll
align-external.ll Don't assume that external global variables are aligned at their preferred 2009-08-11 15:50:03 +00:00
align-inc.ll
alloca.ll
and2.ll
and-compare.ll
and-fcmp.ll
and-not-or.ll
and-or-and.ll
and-or-not.ll
and-or.ll
and-xor-merge.ll
and.ll
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
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
apint-zext1.ll
apint-zext2.ll
ashr-nop.ll
binop-cast.ll
bit-tracking.ll
bitcast-gep.ll
bitcast-scalar-to-vector.ll Fix an instcombine abort on a scalar-to-vector bitcast. This fixes PR4487. 2009-07-01 21:38:46 +00:00
bitcast-vec-canon.ll Canonicalize bitcasts between types like <1 x i64> and i64 to 2009-07-18 23:06:53 +00:00
bitcast-vector-fold.ll
bitcount.ll
bittest.ll
bswap-fold.ll
bswap.ll
call2.ll
call-cast-target.ll
call-intrinsics.ll
call.ll
canonicalize_branch.ll
cast2.ll
cast3.ll Add a testcase for PR2831. 2009-07-21 01:02:18 +00:00
cast_ld_addr_space.ll
cast_ptr.ll Revert the addition of hasNoPointerOverflow to GEPOperator. 2009-07-20 17:43:30 +00:00
cast-and-cast.ll
cast-cast-to-and.ll
cast-load-gep.ll
cast-malloc.ll
cast-mul-select.ll
cast-propagate.ll
cast-set.ll
cast-sext-zext.ll
cast-store-gep.ll
cast.ll
constant-fold-gep-overindex.ll Change getelementptr folding to use APInt instead of uint64_t for 2009-08-21 16:52:54 +00:00
constant-fold-gep.ll Canonicalize indices in a constantexpr GEP. If Indices exceed the 2009-08-19 18:18:36 +00:00
constant-fold-ptr-casts.ll Revert 71165. It did more than just revert 71158 and it introduced 2009-05-07 19:46:24 +00:00
CPP_min_max.ll
dce-iterate.ll Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
deadcode.ll
dg.exp
div-cmp-overflow.ll
div.ll
enforce-known-alignment.ll
exact-sdiv.ll Optimize (x/C)*C to x if the division is exact. 2009-08-12 16:33:09 +00:00
extractvalue.ll
fold-bin-operand.ll Don't restrict the set of instructions where we try to constant-fold the 2009-07-15 22:13:34 +00:00
fold-vector-zero.ll
fp-ret-bitcast.ll
fpcast.ll
fpextend.ll Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
fsub-fsub.ll Don't do (x - (y - z)) --> (x + (z - y)) on floating-point types, because 2009-06-12 19:23:25 +00:00
GEPIdxCanon.ll
getelementptr_cast.ll
getelementptr_const.ll
getelementptr_index.ll
getelementptr_promote.ll
getelementptr-setcc.ll Teach instcombine to respect and preserve inbounds. Add inbounds 2009-07-28 01:40:03 +00:00
getelementptr-seteq.ll Teach instcombine to respect and preserve inbounds. Add inbounds 2009-07-28 01:40:03 +00:00
getelementptr.ll
hoist_instr.ll
icmp.ll
IntPtrCast.ll
JavaCompare.ll
known_align.ll
load2.ll
load3.ll
load.ll
loadstore-alignment.ll
logical-select.ll
lshr-phi.ll Teach ValueTracking a new way to analyze PHI nodes, and and teach 2009-05-21 02:28:33 +00:00
malloc2.ll
malloc3.ll
malloc-free-delete.ll
malloc.ll
memcpy-to-load.ll
memmove.ll
memset.ll
mul-masked-bits.ll
mul.ll Fix trivial todo in instcombine. 2009-07-14 02:01:53 +00:00
multi-use-or.ll Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
narrow.ll
not-fcmp.ll
not.ll
nothrow.ll calls in nothrow functions can be marked nothrow even if the callee 2009-05-13 17:39:14 +00:00
nsw.ll Transform -X/C to X/-C, implementing a README.txt entry. 2009-08-12 16:37:02 +00:00
odr-linkage.ll
or2.ll
or-fcmp.ll
or-to-xor.ll
or.ll
phi-merge.ll
phi.ll
pr2645-0.ll
pr2645-1.ll
pr2996.ll
preserve-sminmax.ll
ptr-int-cast.ll
README.txt
rem.ll
sdiv-1.ll
sdiv-2.ll
sdiv-shift.ll Add combine: X sdiv (1 << Y) -> X udiv (1 << Y) when X doesn't have the 2009-07-18 09:53:21 +00:00
select-2.ll
select-load-call.ll Testcase for r73506 2009-06-16 17:23:25 +00:00
select.ll
set.ll
setcc-cast-cast.ll
setcc-strength-reduce.ll
sext-misc.ll
shift-simplify.ll
shift-sra.ll
shift-trunc-shift.ll
shift.ll
shl-icmp.ll
shl-trunc.ll
shufflemask-undef.ll Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
shufflevec-constant.ll
signed-comparison.ll Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
signext.ll
simplify-demanded-bits-pointer.ll Add -disable-output. Thanks Bill! 2009-08-03 22:24:22 +00:00
sink_instruction.ll
sitofp.ll Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
srem1.ll
srem-simplify-bug.ll
srem.ll
stack-overalign.ll
stacksaverestore.ll
store-merge.ll
store.ll
sub.ll
trunc-mask-ext.ll Generalize the zext(trunc(t) & C) instcombine to work even with 2009-06-18 16:30:21 +00:00
udiv_select_to_select_shift.ll
udiv-simplify-bug-0.ll
udiv-simplify-bug-1.ll
udivrem-change-width.ll PR4548: optimize zext+udiv+trunc to udiv. 2009-07-13 22:46:01 +00:00
urem-simplify-bug.ll Make LLVM Assembly dramatically easier to read by aligning the comments, 2009-08-12 17:23:50 +00:00
urem.ll
vec_demanded_elts-2.ll
vec_demanded_elts-3.ll PR4340: Run SimplifyDemandedVectorElts on insertelement instructions; 2009-06-06 20:08:03 +00:00
vec_demanded_elts.ll Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
vec_extract_elt2.ll When InstCombine simplifies a load -> extract element to gep -> load, place 2009-08-13 05:12:13 +00:00
vec_extract_elt.ll
vec_insert_to_shuffle.ll
vec_insertelt.ll
vec_narrow.ll Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
vec_shuffle2.ll
vec_shuffle.ll
vector-casts.ll merge vector-casts-0.ll into vector-casts.ll 2009-07-23 05:33:39 +00:00
vector-srem.ll
volatile_store.ll
xor2.ll
xor-demorgans.ll
xor-undef.ll
xor.ll
zero-point-zero-add.ll Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
zeroext-and-reduce.ll
zext-bool-add-sub.ll Fix bug in run-line. 2009-07-13 22:31:30 +00:00
zext-fold.ll
zext-or-icmp.ll
zext.ll

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.