..
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
Generalize instcombine's support for combining multiple bit checks into a single test. Patch by Dirk Steinke!
2010-09-08 22:16:17 +00:00
bit-tracking.ll
bitcast-sext-vector.ll
bitcast-store.ll
Fix a case where instcombine was stripping metadata (and alignment)
2010-10-25 16:16:27 +00:00
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
Don't try to constant fold libm functions with non-finite arguments.
2010-09-27 21:29:20 +00:00
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
fix PR8267 - Instcombine shouldn't optimizer away volatile memcpy's.
2010-10-01 05:51:02 +00:00
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
Teach instcombine to set the alignment arguments for NEON load/store intrinsics.
2010-10-22 21:41:48 +00:00
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
InstCombine: Add a missing irem identity (X % X -> 0).
2010-11-17 19:11:46 +00:00
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
more test cleanup
2010-09-02 22:38:56 +00:00
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
Re-apply r113679, which was reverted in r113720, which added a paid of new instcombine transforms
2010-09-13 17:59:27 +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
manually upgrade a bunch of tests to modern syntax, and remove some that
2011-06-17 03:14:27 +00:00
zext.ll