llvm-6502/test/Transforms/InstCombine
2011-07-13 19:19:44 +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 remove a use of llvm-dis 2010-11-30 02:04:15 +00:00
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
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 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 Have SimplifyBinOp dispatch Xor, Add and Sub to the corresponding methods 2010-12-20 14:47:04 +00:00
2010-11-21-SizeZeroTypeGEP.ll If a GEP index simply advances by multiples of a type of zero size, 2010-11-22 16:32:50 +00:00
2010-11-23-Distributed.ll Add a generic expansion transform: A op (B op' C) -> (A op B) op' (A op C) 2010-12-22 13:36:08 +00:00
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
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
debuginfo.ll Try to not lose variable's debug info during instcombine. 2011-03-17 22:18:16 +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 Transform (extractvalue (load P), ...) to (load (gep P, 0, ...)) if the load has no other uses, shrinking the load. 2010-11-29 21:56:20 +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 Don't duplicate the work done by a gep into a "bitcast" if the gep has 2011-07-11 03:43:47 +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 make the asmparser reject function and type redefinitions. 'Merging' hasn't been 2011-06-17 07:06:44 +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 manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +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 Test case for r122215 when InstCombine optimizes memset 2010-12-20 01:06:23 +00:00
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 Enhance a bunch of transformations in instcombine to start generating 2011-02-10 05:36:31 +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 recognize an unsigned add with overflow idiom into uadd. 2010-12-19 19:37:52 +00:00
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 Transform any logical shift of a power of two into an exact/NUW shift when 2011-05-23 00:21:50 +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 Add vector versions of some existing scalar transforms to aid codegen in matching psign & pblend operations to the IR produced by clang/gcc for their C idioms. 2010-12-17 23:12:19 +00:00
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
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.