1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-01 08:23:21 +01:00
llvm-mirror/test/Transforms/InstCombine
Eric Christopher 428b385575 Add a new pass to do llvm.objsize lowering using SCEV.
Initial skeleton and SCEVUnknown lowering implemented,
the rest should come relatively quickly.  Move testcase
to new directory.

Move pass to right before SimplifyLibCalls - which is
moved down a bit so we can take advantage of a few opts.

llvm-svn: 95628
2010-02-09 00:35:38 +00:00
..
2002-03-11-InstCombineHang.ll
2002-05-14-SubFailure.ll
2002-08-02-CastTest.ll
2002-12-05-MissedConstProp.ll
2003-05-26-CastMiscompile.ll
2003-05-27-ConstExprCrash.ll
2003-06-05-BranchInvertInfLoop.ll
2003-07-21-ExternalConstant.ll
2003-08-12-AllocaNonNull.ll
2003-09-09-VolatileLoadElim.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 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
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-13-DemandedMiscompile.ll
2006-02-28-Crash.ll
2006-03-30-ExtractElement.ll
2006-04-28-ShiftShiftLongLong.ll
2006-05-04-DemandedBitCrash.ll
2006-09-15-CastToBool.ll
2006-10-19-SignedToUnsignedCastAndConst-2.ll
2006-10-20-mask.ll
2006-10-26-VectorReassoc.ll
2006-11-03-Memmove64.ll
2006-11-10-ashr-miscompile.ll
2006-12-01-BadFPVectorXform.ll
2006-12-05-fp-to-int-ext.ll
2006-12-08-ICmp-Combining.ll
2006-12-08-Phi-ICmp-Op-Fold.ll
2006-12-08-Select-ICmp.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-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-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-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-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
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-18-vector-ashr-crash.ll
2009-03-20-AShrOverShift.ll
2009-03-24-InfLoop.ll
2009-04-07-MulPromoteToI96.ll
2009-05-23-FCmpToICmp.ll
2009-06-11-StoreAddrSpace.ll
2009-06-16-SRemDemandedBits.ll
2009-07-02-MaskedIntVector.ll
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
add-shrink.ll
add-sitofp.ll
add.ll
addnegneg.ll
adjust-for-sminmax.ll
align-2d-gep.ll
align-addr.ll
align-external.ll
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-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 change the preferred canonical form for a sign extension to be 2010-01-10 07:08:30 +00:00
apint-shl-trunc.ll
apint-sub.ll
apint-xor1.ll
apint-xor2.ll
apint-zext1.ll
apint-zext2.ll
ashr-nop.ll
badmalloc.ll
binop-cast.ll
bit-tracking.ll
bitcast-scalar-to-vector.ll
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
bitcast-vector-fold.ll
bitcount.ll
bittest.ll
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
call-cast-target.ll
call-intrinsics.ll
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
cast-set.ll
cast.ll disable this testcase, PR5997 2010-01-11 23:18:33 +00:00
compare-signs.ll
constant-fold-compare.ll Aggressively flip compare constant expressions where appropriate; constant 2009-12-17 06:07:04 +00:00
constant-fold-gep.ll
constant-fold-ptr-casts.ll
CPP_min_max.ll
crash.ll fix rdar://7590304, an infinite loop in instcombine. In the invoke 2010-02-01 18:04:58 +00:00
dce-iterate.ll
deadcode.ll
dg.exp
div-cmp-overflow.ll
div.ll
enforce-known-alignment.ll
exact-sdiv.ll
extractvalue.ll
fold-bin-operand.ll
fold-vector-zero.ll
fp-ret-bitcast.ll
fpcast.ll
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
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
intrinsics.ll implement a simple instcombine xform that has been in the 2010-01-23 18:49:30 +00:00
invariant.ll
JavaCompare.ll
known_align.ll
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 fix logical-select to invoke filecheck right, and fix hte instcombine 2010-02-05 19:53:02 +00:00
lshr-phi.ll
malloc2.ll
malloc3.ll
malloc-free-delete.ll
malloc.ll
memcpy-to-load.ll
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
memset.ll
mul-masked-bits.ll
mul.ll
multi-use-or.ll
narrow.ll
no-negzero.ll
not-fcmp.ll
not.ll
nothrow.ll
nsw.ll
odr-linkage.ll
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
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
select-2.ll
select-load-call.ll
select.ll add check lines for min/max tests. 2009-12-21 06:08:50 +00:00
set.ll
setcc-strength-reduce.ll
sext.ll
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
shift.ll
shufflemask-undef.ll
shufflevec-constant.ll
signed-comparison.ll
signext.ll Simplify/generalize the xor+add->sign-extend instcombine. 2010-01-31 04:29:12 +00:00
simplify-demanded-bits-pointer.ll
sink_instruction.ll
sitofp.ll
srem1.ll
srem-simplify-bug.ll
srem.ll
stack-overalign.ll
stacksaverestore.ll
store.ll
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
udiv_select_to_select_shift.ll
udiv-simplify-bug-0.ll
udiv-simplify-bug-1.ll
udivrem-change-width.ll
urem-simplify-bug.ll
urem.ll
vec_demanded_elts-2.ll
vec_demanded_elts-3.ll
vec_demanded_elts.ll
vec_extract_elt.ll
vec_insertelt.ll
vec_narrow.ll
vec_shuffle.ll
vector-casts.ll
vector-srem.ll
volatile_store.ll
xor2.ll optimize ~(~X >>s Y) --> (X >>s Y), patch by Edmund Grimley 2010-01-19 18:16:19 +00:00
xor-undef.ll
xor.ll
zero-point-zero-add.ll
zeroext-and-reduce.ll
zext-bool-add-sub.ll
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.