llvm-6502/test/Transforms/InstCombine
2010-05-28 15:09:00 +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
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-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 add newlines at the end of files. 2010-04-07 22:53:17 +00:00
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 Teach APFloat how to create both QNaNs and SNaNs and with arbitrary-width 2010-02-28 02:51:25 +00:00
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
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
2010-03-03-ExtElim.ll Make the 'icmp pred trunc(ext(X)), CST --> icmp pred X, ext(trunc(CST))' 2010-03-04 06:54:10 +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 Teach instcombine to promote alloca array sizes. 2010-05-28 15:09:00 +00:00
and2.ll convert to filecheck. 2010-02-11 06:24:37 +00:00
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
apint-shl-trunc.ll
apint-sub.ll
apint-xor1.ll
apint-xor2.ll
apint-zext1.ll
apint-zext2.ll
ashr-nop.ll
badmalloc.ll Teach instCombine to remove malloc+free if malloc's only uses are comparisons 2010-05-27 19:09:06 +00:00
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 Fold bswap(undef) to undef. 2010-02-17 00:54:58 +00:00
bswap.ll
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
cast-mul-select.ll
cast-set.ll
cast.ll Teach instcombine to transform a bitcast/(zext|trunc)/bitcast sequence 2010-05-08 21:50:26 +00:00
compare-signs.ll
constant-fold-compare.ll
constant-fold-gep.ll
CPP_min_max.ll
crash.ll Fix PR6503. This turned into a much more interesting and nasty bug. Various 2010-03-05 08:46:26 +00:00
dce-iterate.ll
deadcode.ll
dg.exp
div-cmp-overflow.ll
div.ll
enforce-known-alignment.ll
exact-sdiv.ll
extractvalue.ll
fcmp-select.ll Don't do (X != Y) ? X : Y -> X for floating-point values; it doesn't 2010-02-23 17:17:57 +00:00
fcmp-special.ll Constant-fold certain comparisons with infinity and negative infinity. 2010-02-22 04:06:03 +00:00
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
gepgep.ll When constant folding GEP of GEP, do not crash if an index of 2010-03-12 17:55:20 +00:00
getelementptr.ll Add a testcase for getelementptr index promotion. 2010-05-28 15:07:59 +00:00
hoist_instr.ll
icmp.ll fix incorrect folding of icmp with undef, PR6481. 2010-03-03 19:46:03 +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 Print empty structs as {} rather than { }. 2010-04-08 18:03:05 +00:00
JavaCompare.ll make these less sensitive to temporary naming. 2010-03-05 08:43:33 +00:00
known_align.ll
load2.ll
load3.ll
load-cmp.ll make these less sensitive to temporary naming. 2010-03-05 08:43:33 +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
loadstore-alignment.ll
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 Teach instCombine to remove malloc+free if malloc's only uses are comparisons 2010-05-27 19:09:06 +00:00
malloc.ll
memcpy-to-load.ll
memcpy.ll
memmove.ll
memset_chk.ll Reapply address space patch after fixing an issue in MemCopyOptimizer. 2010-04-04 03:10:48 +00:00
memset.ll
mul-masked-bits.ll
mul.ll
multi-use-or.ll Floating-point add, sub, and mul are now spelled fadd, fsub, and fmul, 2010-03-02 01:11:08 +00:00
narrow.ll
no-negzero.ll
not-fcmp.ll
not.ll
nothrow.ll
nsw.ll
objsize.ll Fix declarations in a few more tests. 2010-04-17 21:29:25 +00:00
odr-linkage.ll add newlines at the end of files. 2010-04-07 22:53:17 +00:00
or-fcmp.ll
or-to-xor.ll
or.ll make these less sensitive to temporary naming. 2010-03-05 08:43:33 +00:00
phi-merge-gep.ll
phi.ll fix PR6512, a case where instcombine would incorrectly merge loads 2010-03-05 18:53:28 +00:00
pr2645-0.ll
pr2645-1.ll
pr2996.ll
preserve-sminmax.ll
ptr-int-cast.ll Convert this test to FileCheck and add a testcase for PR3574. 2010-02-23 01:28:09 +00:00
README.txt
rem.ll
sdiv-1.ll
sdiv-2.ll
sdiv-shift.ll
select-2.ll
select-load-call.ll
select.ll
set.ll
setcc-strength-reduce.ll
sext.ll
shift-simplify.ll
shift-sra.ll Fix a typo in ValueTracking that's causing instcombine to delete needed shift instructions. 2010-03-13 02:20:29 +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
strcpy_chk.ll Verify function prototypes before trying to optimize functions. We also 2010-04-12 04:48:00 +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
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 Floating-point add, sub, and mul are now spelled fadd, fsub, and fmul, 2010-03-02 01:11:08 +00:00
vec_shuffle.ll add newlines at the end of files. 2010-04-07 22:53:17 +00:00
vector-casts.ll Rename ValueRequiresCast to ShouldOptimizeCast, to better reflect 2010-02-11 06:26:33 +00:00
vector-srem.ll
volatile_store.ll
xor2.ll This test case: 2010-03-03 00:35:56 +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.