llvm-6502/test/Transforms/InstCombine
2009-02-03 10:05:09 +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
2006-11-03-Memmove64.ll
2006-11-10-ashr-miscompile.ll
2006-11-27-XorBug.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-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
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 Reinstate this optimization to fold icmp of xor when possible. Don't try to 2009-01-31 21:30:05 +00:00
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 Add a couple of missed optimizations on integer vectors. Multiply and divide 2008-11-27 20:21:08 +00:00
2008-11-27-MultiplyIntVec.ll Add a couple of missed optimizations on integer vectors. Multiply and divide 2008-11-27 20:21:08 +00:00
2008-11-27-UDivNegative.ll Chris prefers icmp/select over udiv! 2008-11-27 22:41:10 +00:00
2008-12-17-SRemNegConstVec.ll Make all the vector elements positive in an srem of constant vector. 2008-12-18 06:31:11 +00:00
2009-01-05-i128-crash.ll make m_ConstantInt(int64_t) safely match ConstantInt's that are larger than i64. 2009-01-05 23:45:50 +00:00
2009-01-08-AlignAlloca.ll Make instcombine ensure that all allocas are explicitly aligned at at 2009-01-13 20:18:38 +00:00
2009-01-16-PointerAddrSpace.ll Fix PR3335 by not turning a store to one address space into a store to another. 2009-01-16 20:12:52 +00:00
2009-01-19-fmod-constant-float-specials.ll Do not use host floating point types when emitting 2009-01-21 20:32:55 +00:00
2009-01-19-fmod-constant-float.ll Calls to fmod, it turns out, are constant-folded by 2009-01-20 21:58:13 +00:00
2009-01-24-EmptyStruct.ll testcase for PR3381. 2009-01-24 17:16:04 +00:00
2009-01-31-InfIterate.ll reduce testcase. 2009-02-02 06:55:45 +00:00
2009-01-31-Pressure.ll Reinstate this optimization to fold icmp of xor when possible. Don't try to 2009-01-31 21:30:05 +00:00
add2.ll
add-shrink.ll
add-sitofp.ll
add.ll
addnegneg.ll
adjust-for-sminmax.ll
align-2d-gep.ll
align-addr.ll
align-inc.ll
alloca.ll
and2.ll
and-compare.ll
and-fcmp.ll
and-not-or.ll simplify these patterns using m_Specific. No need to grep for 2008-12-01 05:16:26 +00:00
and-or-and.ll
and-or-not.ll
and-or.ll Implement ((A|B)&1)|(B&-2) -> (A&1) | B transformation. This also takes care of 2008-12-01 01:07:11 +00:00
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 Instcombine was illegally transforming -X/C into X/-C when either X or C 2008-11-30 03:42:12 +00:00
apint-xor1.ll
apint-xor2.ll
apint-zext1.ll
apint-zext2.ll
binop-cast.ll
bit-tracking.ll
bitcast-gep.ll Fix part 3/2 of PR3290, making instcombine zap (gep(bitcast)) when possible. 2009-01-09 05:44:56 +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
cast_ptr.ll
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 Fix PR3452 (an infinite loop bootstrapping) by disabling the recent 2009-01-31 19:05:27 +00:00
cast-store-gep.ll Make InstCombineStoreToCast handle aggregates more aggressively, 2009-01-24 01:00:13 +00:00
cast.ll Clean up previous cast optimization a bit. Also make zext elimination a bit more aggressive: if it's not necessary to emit an AND (i.e. high bits are already zero), it's profitable to evaluate the operand at a different type. 2009-01-16 02:11:43 +00:00
CPP_min_max.ll
dce-iterate.ll make sure to set Changed=true when instcombine hacks on the code, 2009-01-31 07:04:22 +00:00
deadcode.ll
dg.exp
div-cmp-overflow.ll
div.ll
extractvalue.ll
fold-vector-zero.ll
fp-ret-bitcast.ll
fpcast.ll
fpextend.ll
GEPIdxCanon.ll
getelementptr_cast.ll
getelementptr_const.ll
getelementptr_index.ll
getelementptr_promote.ll
getelementptr-setcc.ll
getelementptr-seteq.ll
getelementptr.ll
hoist_instr.ll
icmp.ll Implement rdar://6480391, extending of equality icmp's to avoid a truncation. 2009-01-09 07:47:06 +00:00
IntPtrCast.ll
JavaCompare.ll
known_align.ll
load2.ll
load3.ll
load.ll
loadstore-alignment.ll Make instcombine ensure that all allocas are explicitly aligned at at 2009-01-13 20:18:38 +00:00
logical-select.ll
malloc2.ll
malloc3.ll
malloc-free-delete.ll
malloc.ll
memcpy-to-load.ll
memmove.ll
memset.ll
mul-masked-bits.ll
mul.ll
multi-use-or.ll now that all the pieces are in place, teach instcombine's 2009-01-31 08:40:03 +00:00
narrow.ll
not-fcmp.ll
not.ll
or2.ll
or-fcmp.ll
or-to-xor.ll Use m_Specific() instead of double matching. 2008-12-01 08:09:47 +00:00
or.ll
phi-merge.ll
phi.ll Teach inst combine to merge GEPs through PHIs. This is really 2008-12-01 02:34:36 +00:00
pr2645-0.ll
pr2645-1.ll
pr2996.ll
preserve-sminmax.ll
README.txt
rem.ll
sdiv-1.ll Strengthen check for div inst-combining. 2008-11-30 04:33:53 +00:00
sdiv-2.ll getSExtValue() doesn't work for ConstantInts with bitwidth > 64 bits. Use all 2008-11-30 12:38:24 +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
signext.ll
sink_instruction.ll
sitofp.ll
srem1.ll
srem-simplify-bug.ll
srem.ll
stacksaverestore.ll
store-merge.ll
store.ll
sub.ll Instcombine was illegally transforming -X/C into X/-C when either X or C 2008-11-30 03:42:12 +00:00
udiv_select_to_select_shift.ll
udiv-simplify-bug-0.ll
udiv-simplify-bug-1.ll Chris prefers icmp/select over udiv! 2008-11-27 22:41:10 +00:00
urem-simplify-bug.ll
urem.ll
vec_demanded_elts-2.ll APInt'fy SimplifyDemandedVectorElts so it can analyze vectors with more than 64 elements. 2009-02-03 10:05:09 +00:00
vec_demanded_elts.ll
vec_extract_elt.ll
vec_insert_to_shuffle.ll
vec_insertelt.ll
vec_narrow.ll
vec_shuffle2.ll Fixed optimization of combining two shuffles where the first shuffle inputs 2009-01-26 04:39:00 +00:00
vec_shuffle.ll
vector-srem.ll
volatile_store.ll
xor2.ll
xor-demorgans.ll XFAIL this test. The xform was removed. 2009-01-04 06:32:28 +00:00
xor-undef.ll
xor.ll
zero-point-zero-add.ll
zeroext-and-reduce.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.