llvm-6502/test/Transforms/InstCombine
Dan Gohman 9ee7123ab4 Fold bswap(undef) to undef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96432 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17 00:54:58 +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 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
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 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
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 make instcombine only rewrite a chain of computation 2009-11-07 19:11:46 +00:00
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 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
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 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
adjust-for-sminmax.ll
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
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 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 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
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 Fold bswap(undef) to undef. 2010-02-17 00:54:58 +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 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
CPP_min_max.ll
crash.ll fix PR6193, only considering sign extensions *from i1* for this 2010-02-09 01:12:41 +00:00
dce-iterate.ll
deadcode.ll
dg.exp
div-cmp-overflow.ll
div.ll Use opt -S instead of piping bitcode output through llvm-dis. 2009-09-08 22:34:10 +00:00
enforce-known-alignment.ll
exact-sdiv.ll
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
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
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 Don't trivially delete unused calls to llvm.invariant.start. This allows 2009-11-11 15:34:13 +00:00
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 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
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
objsize.ll Fix a problem where we had bitcasted operands that gave us 2010-02-13 23:38:01 +00:00
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 enhance PHI slicing to handle the case when a slicable PHI is begin 2009-11-09 01:38:00 +00:00
pr2645-0.ll
pr2645-1.ll
pr2996.ll
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
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 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
shift.ll
shufflemask-undef.ll
shufflevec-constant.ll Make ConstantFoldConstantExpression recursively visit the entire 2009-11-23 16:22:21 +00:00
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 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
udiv_select_to_select_shift.ll
udiv-simplify-bug-0.ll
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
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 Rename ValueRequiresCast to ShouldOptimizeCast, to better reflect 2010-02-11 06:26:33 +00:00
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.