llvm-6502/test/Transforms/InstCombine
2011-08-16 23:29:17 +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
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 Enhance a bunch of transformations in instcombine to start generating 2011-02-10 05:36:31 +00:00
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-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 Enhance a bunch of transformations in instcombine to start generating 2011-02-10 05:36:31 +00:00
2007-04-08-SingleEltVectorCrash.ll
2007-05-10-icmp-or.ll
2007-05-14-Crash.ll
2007-05-18-CastFoldBug.ll Stop accepting and ignoring attributes in function types. Attributes are applied 2011-06-17 17:37:13 +00:00
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 Stop accepting and ignoring attributes in function types. Attributes are applied 2011-06-17 17:37:13 +00:00
2007-09-17-AliasConstFold2.ll
2007-10-10-EliminateMemCpy.ll rip out a ton of intrinsic modernization logic from AutoUpgrade.cpp, which is 2011-06-18 06:05:24 +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 Land the long talked about "type system rewrite" patch. This 2011-07-09 17:41:24 +00:00
2007-11-15-CompareMiscomp.ll
2007-11-22-IcmpCrash.ll
2007-11-25-CompatibleAttributes.ll Stop accepting and ignoring attributes in function types. Attributes are applied 2011-06-17 17:37:13 +00:00
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 manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +00:00
2008-01-06-CastCrash.ll
2008-01-06-VoidCast.ll
2008-01-13-AndCmpCmp.ll
2008-01-13-NoBitCastAttributes.ll manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +00:00
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 Move "atomic" and "volatile" designations on instructions after the opcode 2011-08-12 22:50:01 +00:00
2008-04-29-VolatileLoadDontMerge.ll Move "atomic" and "volatile" designations on instructions after the opcode 2011-08-12 22:50:01 +00:00
2008-04-29-VolatileLoadMerge.ll Move "atomic" and "volatile" designations on instructions after the opcode 2011-08-12 22:50:01 +00:00
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 Move "atomic" and "volatile" designations on instructions after the opcode 2011-08-12 22:50:01 +00:00
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 My auto-simplifier noticed that ((X/Y)*Y)/Y occurs several times in SPEC 2011-01-28 16:51:11 +00:00
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 rip out a ton of intrinsic modernization logic from AutoUpgrade.cpp, which is 2011-06-18 06:05:24 +00:00
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
2010-03-03-ExtElim.ll
2010-11-01-lshr-mask.ll
2010-11-21-SizeZeroTypeGEP.ll
2010-11-23-Distributed.ll
2011-02-14-InfLoop.ll Fix 9216 - Endless loop in InstCombine pass. 2011-02-15 07:13:48 +00:00
2011-03-08-SRemMinusOneBadOpt.ll PR9346: Prevent SimplifyDemandedBits from incorrectly introducing 2011-03-09 01:28:35 +00:00
2011-05-02-VectorBoolean.ll Fix PR9579: when simplifying a compare to "true" or "false", and it was 2011-05-02 18:51:41 +00:00
2011-05-13-InBoundsGEP.ll Drop lli, revise test. 2011-05-17 02:38:59 +00:00
2011-05-28-swapmulsub.ll Reapply 132348 with fixes. rdar://problem/6501862 2011-06-01 16:42:47 +00:00
2011-06-13-nsw-alloca.ll Avoid fusing bitcasts with dynamic allocas if the amount-to-allocate 2011-06-13 18:48:49 +00:00
add2.ll preserve NUW/NSW when transforming add x,x 2011-02-17 02:23:02 +00:00
add3.ll
add-shrink.ll
add-sitofp.ll
add.ll Also fold (A+B) == A -> B == 0 when the add is commuted. 2011-02-11 21:46:48 +00:00
addnegneg.ll
adjust-for-sminmax.ll
align-2d-gep.ll
align-addr.ll
align-external.ll
alloca.ll
and2.ll Make InstCombiner::FoldAndOfICmps create a ConstantRange that's the 2011-03-01 15:05:01 +00:00
and-compare.ll
and-fcmp.ll
and-not-or.ll
and-or-and.ll
and-or-not.ll Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
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
atomic.ll An additional atomic test; related to r137662. 2011-08-16 23:29:17 +00:00
badmalloc.ll
binop-cast.ll
bit-checks.ll
bit-tracking.ll
bitcast-sext-vector.ll
bitcast-store.ll
bitcast-vec-canon.ll
bitcast-vec-uniform.ll Enhance constant folding of bitcast operations on vectors of floats. 2011-02-17 21:22:27 +00:00
bitcast-vector-fold.ll
bitcast.ll
bitcount.ll
bittest.ll
bswap-fold.ll make the asmparser reject function and type redefinitions. 'Merging' hasn't been 2011-06-17 07:06:44 +00:00
bswap.ll
call2.ll Remove support for using "foo" as symbols instead of %"foo". This is ancient 2011-06-17 06:36:20 +00:00
call-cast-target.ll
call-intrinsics.ll
call.ll Start trying to make InstCombine preserve more debug info. The idea here is to set the debug location on the IRBuilder, which will be then right location in most cases. This should magically give many transformations debug locations, and fixing places which are missing a debug location will usually just means changing the code creating it to use the IRBuilder. 2011-05-18 01:28:27 +00:00
canonicalize_branch.ll
cast_ptr.ll
cast-mul-select.ll
cast-set.ll
cast.ll manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +00:00
compare-signs.ll
constant-fold-compare.ll
constant-fold-gep.ll implement constant folding support for an exotic constant expr: 2011-01-06 06:19:46 +00:00
CPP_min_max.ll
crash.ll fix PR9013, an infinite loop in instcombine. 2011-01-21 05:29:50 +00:00
dce-iterate.ll
deadcode.ll Lifetime intrinsics on undef are dead. 2011-08-02 21:19:27 +00:00
debuginfo.ll Try to not lose variable's debug info during instcombine. 2011-03-17 22:18:16 +00:00
devirt.ll Migrate this test from llvm/test/FrontendC++/ptr-to-method-devirt.cpp and 2011-08-16 01:17:17 +00:00
dg.exp
div.ll Carve out a place in instcombine to put transformations which work knowing that their 2011-05-22 18:18:41 +00:00
enforce-known-alignment.ll
exact.ll PR9998: ashr exact %x, 31 is not equivalent to sdiv exact %x, -2147483648. 2011-05-25 23:26:20 +00:00
ExtractCast.ll Instcombile optimization: extractelement(cast) -> cast(extractelement) 2011-03-31 22:57:29 +00:00
extractvalue.ll Move "atomic" and "volatile" designations on instructions after the opcode 2011-08-12 22:50:01 +00:00
fcmp-select.ll
fcmp-special.ll
fcmp.ll InstCombine: APFloat can't perform arithmetic on PPC double doubles, don't even try. 2011-03-31 21:35:49 +00:00
fdiv.ll Avoid turning a floating point division with a constant power of two into a denormal multiplication. 2011-03-30 17:02:54 +00:00
fold-bin-operand.ll FileCheck-ize and update test. 2011-03-18 01:10:31 +00:00
fold-calls.ll
fold-vector-select.ll Fix 9173. 2011-02-11 19:37:55 +00:00
fold-vector-zero.ll
fp-ret-bitcast.ll
fpcast.ll
fpextend.ll
fsub.ll
gep-addrspace.ll This testcase passed even without the fix. Added the target info to make the 2011-04-06 11:18:29 +00:00
gepgep.ll
getelementptr.ll Add a small gep optimization I noticed was missing while reading some IL. 2011-07-31 04:43:41 +00:00
hoist_instr.ll
icmp.ll PR10267: Don't combine an equality compare with an AND into an inequality compare when the AND has more than one use. 2011-07-04 20:16:36 +00:00
idioms.ll
IntPtrCast.ll
intrinsics.ll Move "atomic" and "volatile" designations on instructions after the opcode 2011-08-12 22:50:01 +00:00
invariant.ll
JavaCompare.ll
known_align.ll
load3.ll
load-cmp.ll
load-select.ll
load.ll
loadstore-alignment.ll
logical-select.ll
lshr-phi.ll
malloc-free-delete.ll Fix logical error when detecting lifetime intrinsics. 2011-08-03 00:43:35 +00:00
memcpy-to-load.ll rip out a ton of intrinsic modernization logic from AutoUpgrade.cpp, which is 2011-06-18 06:05:24 +00:00
memcpy.ll
memmove.ll rip out a ton of intrinsic modernization logic from AutoUpgrade.cpp, which is 2011-06-18 06:05:24 +00:00
memset2.ll
memset_chk.ll
memset.ll rip out a ton of intrinsic modernization logic from AutoUpgrade.cpp, which is 2011-06-18 06:05:24 +00:00
merge-icmp.ll InstCombine: Merge "(trunc x) == C1 & (and x, CA) == C2" into a single and+icmp. 2011-04-28 16:58:40 +00:00
mul-masked-bits.ll
mul.ll
multi-use-or.ll
narrow.ll
neon-intrinsics.ll
no-negzero.ll
not-fcmp.ll
not.ll manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +00:00
nothrow.ll
nsw.ll This transform is not safe. Thanks to Eli for pointing that out! 2011-08-14 04:51:49 +00:00
objsize.ll make the asmparser reject function and type redefinitions. 'Merging' hasn't been 2011-06-17 07:06:44 +00:00
odr-linkage.ll
or-fcmp.ll Just because we have determined that an (fcmp | fcmp) is true for A < B, 2011-01-21 19:39:42 +00:00
or-to-xor.ll
or-xor.ll InstCombine: Add a bunch of combines of the form x | (y ^ z). 2011-02-20 13:23:43 +00:00
or.ll More instcombine cleanup, towards improving debug line info. 2011-05-18 23:58:37 +00:00
overflow.ll
phi-merge-gep.ll
phi.ll Land the long talked about "type system rewrite" patch. This 2011-07-09 17:41:24 +00:00
pr2645-0.ll
pr2645-1.ll
pr2996.ll
pr8547.ll Enhance a bunch of transformations in instcombine to start generating 2011-02-10 05:36:31 +00:00
preserve-sminmax.ll
ptr-int-cast.ll
README.txt
rem.ll
sdiv-1.ll
sdiv-2.ll
sdiv-shift.ll
select-2.ll
select-crash.ll PR10180: Fix a instcombine crash with FP vectors. 2011-06-23 20:40:23 +00:00
select-load-call.ll
select.ll ConstantFoldInstOperands doesn't like compares, hand it off to instsimplify instead. 2011-05-28 10:16:58 +00:00
set.ll
setcc-strength-reduce.ll
sext.ll InstCombine: Turn icmp + sext into bitwise/integer ops when the input has only one unknown bit. 2011-04-01 20:09:10 +00:00
shift-sra.ll
shift.ll Make sure to correctly clear the exact/nuw/nsw flags off of shifts when they are combined together. <rdar://problem/9859829> 2011-07-29 00:18:19 +00:00
shufflemask-undef.ll
shufflevec-constant.ll
sign-test-and-or.ll InstCombine: Add a few missing combines for ANDs and ORs of sign bit tests. 2011-03-29 22:06:41 +00:00
signed-comparison.ll
signext.ll Enhance a bunch of transformations in instcombine to start generating 2011-02-10 05:36:31 +00:00
simplify-demanded-bits-pointer.ll
sink_instruction.ll
sitofp.ll
sqrt.ll Change test case, one that actually failed before my commit. 2011-07-13 19:19:44 +00:00
srem1.ll
srem-simplify-bug.ll
srem.ll
stack-overalign.ll rip out a ton of intrinsic modernization logic from AutoUpgrade.cpp, which is 2011-06-18 06:05:24 +00:00
stacksaverestore.ll
store.ll
strcpy_chk-64.ll If we don't know how long a string is we can't fold an _chk version to the 2011-03-15 00:25:41 +00:00
strcpy_chk.ll
sub.ll manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +00:00
trunc.ll Enhance a bunch of transformations in instcombine to start generating 2011-02-10 05:36:31 +00:00
udiv_select_to_select_shift.ll
udiv-simplify-bug-0.ll
udiv-simplify-bug-1.ll
udivrem-change-width.ll InstCombine: Turn (zext A) udiv (zext B) into (zext (A udiv B)). Same for urem or constant B. 2011-04-30 18:16:07 +00:00
urem-simplify-bug.ll
urem.ll
vec_demanded_elts.ll Move test to Transforms/InstCombine. 2011-05-19 05:53:22 +00:00
vec_extract_elt.ll
vec_insertelt.ll
vec_narrow.ll Land the long talked about "type system rewrite" patch. This 2011-07-09 17:41:24 +00:00
vec_sext.ll
vec_shuffle.ll Land the long talked about "type system rewrite" patch. This 2011-07-09 17:41:24 +00:00
vector-casts.ll Teach PatternMatch that splat vectors could be floating point as well as 2011-02-15 23:13:23 +00:00
vector-srem.ll
volatile_store.ll Move "atomic" and "volatile" designations on instructions after the opcode 2011-08-12 22:50:01 +00:00
x86-crc32-demanded.ll Renamed llvm.x86.sse42.crc32 intrinsics; crc64 doesn't exist. 2011-05-26 23:13:19 +00:00
xor2.ll
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 manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +00:00
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.