..
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-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
Have SimplifyBinOp dispatch Xor, Add and Sub to the corresponding methods
2010-12-20 14:47:04 +00:00
2010-11-21-SizeZeroTypeGEP.ll
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-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
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
Enhance a bunch of transformations in instcombine to start generating
2011-02-10 05:36:31 +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
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
Test case for r122215 when InstCombine optimizes memset
2010-12-20 01:06:23 +00:00
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
Revert 122959, it needs more thought. Add it back to README.txt with additional notes.
2011-01-07 20:42:20 +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
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
InstCombine: Make switch folding with equality compares more aggressive by trying instsimplify on the arm where we know the compared value.
2011-05-27 13:00:16 +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
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
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