..
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-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-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-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
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
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
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-02-16-InsertelementHang.ll
PR9218: SimplifyDemandedVectorElts can return a non-null value that is not
2011-02-19 22:42:40 +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
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
bswap.ll
call2.ll
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
Simplify code. No functionality changes, name changes aside.
2011-06-12 22:47:53 +00:00
compare-signs.ll
constant-fold-compare.ll
constant-fold-gep.ll
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
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
hoist_instr.ll
icmp.ll
PR9838: Fix transform introduced in r127064 to not trigger when only one side of the icmp is an exact shift.
2011-05-05 21:59:18 +00:00
idioms.ll
IntPtrCast.ll
intrinsics.ll
Revert "InstCombine: Turn mul.with.overflow(X, 2) into the cheaper add.with.overflow(X, X)"
2011-05-21 18:31:42 +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
malloc2.ll
malloc3.ll
malloc-free-delete.ll
malloc.ll
memcpy-to-load.ll
memcpy.ll
memmove.ll
memset2.ll
memset_chk.ll
memset.ll
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
nothrow.ll
nsw.ll
Enhance a bunch of transformations in instcombine to start generating
2011-02-10 05:36:31 +00:00
objsize.ll
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
Add test cases for Jay's r129641 and fix a 32-bit-centric testcase in a file with a 64-bit datalayout.
2011-04-16 14:31:50 +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
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
srem1.ll
srem-simplify-bug.ll
srem.ll
stack-overalign.ll
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
Add some transforms of the kind X-Y>X -> 0>Y which are valid when there is no
2011-02-18 16:25:37 +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
vec_sext.ll
vec_shuffle.ll
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
zext.ll