..
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
add newlines at the end of files.
2010-04-07 22:53:17 +00:00
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
Teach APFloat how to create both QNaNs and SNaNs and with arbitrary-width
2010-02-28 02:51:25 +00:00
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
Make the 'icmp pred trunc(ext(X)), CST --> icmp pred X, ext(trunc(CST))'
2010-03-04 06:54:10 +00:00
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-02-16-InsertelementHang.ll
PR9218: SimplifyDemandedVectorElts can return a non-null value that is not
2011-02-19 22:42:40 +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
Make instcombine set explicit alignments on load or store
2010-08-03 18:20:32 +00:00
align-external.ll
alloca.ll
Teach instcombine to promote alloca array sizes.
2010-05-28 15:09:00 +00:00
and2.ll
Teach InstructionSimplify to fold (A & B) & A -> A & B and (A | B) | A -> A | B.
2010-09-10 22:39:55 +00:00
and-compare.ll
and-fcmp.ll
and-not-or.ll
and-or-and.ll
and-or-not.ll
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
Teach instCombine to remove malloc+free if malloc's only uses are comparisons
2010-05-27 19:09:06 +00:00
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
handle the constant case of vector insertion. For something
2010-08-28 01:50:57 +00:00
bitcount.ll
bittest.ll
bswap-fold.ll
Fold bswap(undef) to undef.
2010-02-17 00:54:58 +00:00
bswap.ll
call2.ll
call-cast-target.ll
call-intrinsics.ll
call.ll
change instcombine to not turn a call to non-varargs bitcast of
2011-02-24 05:10:56 +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
dg.exp
div.ll
enforce-known-alignment.ll
exact.ll
add PR#
2011-02-13 08:27:31 +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
Don't do (X != Y) ? X : Y -> X for floating-point values; it doesn't
2010-02-23 17:17:57 +00:00
fcmp-special.ll
Constant-fold certain comparisons with infinity and negative infinity.
2010-02-22 04:06:03 +00:00
fold-bin-operand.ll
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
gepgep.ll
When constant folding GEP of GEP, do not crash if an index of
2010-03-12 17:55:20 +00:00
getelementptr.ll
Add a testcase for getelementptr index promotion.
2010-05-28 15:07:59 +00:00
hoist_instr.ll
icmp.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
idioms.ll
IntPtrCast.ll
intrinsics.ll
X86 supports i8/i16 overflow ops (except i8 multiplies), we should
2010-12-19 20:03:11 +00:00
invariant.ll
Print empty structs as {} rather than { }.
2010-04-08 18:03:05 +00:00
JavaCompare.ll
make these less sensitive to temporary naming.
2010-03-05 08:43:33 +00:00
known_align.ll
load3.ll
fix PR7429, a crash turning a load from a string into a float.
2010-07-12 00:22:51 +00:00
load-cmp.ll
make these less sensitive to temporary naming.
2010-03-05 08:43:33 +00:00
load-select.ll
load.ll
merge two tests.
2010-07-12 00:19:47 +00:00
loadstore-alignment.ll
logical-select.ll
lshr-phi.ll
malloc2.ll
malloc3.ll
malloc-free-delete.ll
Teach instCombine to remove malloc+free if malloc's only uses are comparisons
2010-05-27 19:09:06 +00:00
malloc.ll
memcpy-to-load.ll
memcpy.ll
fix PR8267 - Instcombine shouldn't optimizer away volatile memcpy's.
2010-10-01 05:51:02 +00:00
memmove.ll
memset2.ll
Test case for r122215 when InstCombine optimizes memset
2010-12-20 01:06:23 +00:00
memset_chk.ll
Reapply address space patch after fixing an issue in MemCopyOptimizer.
2010-04-04 03:10:48 +00:00
memset.ll
mul-masked-bits.ll
mul.ll
multi-use-or.ll
Floating-point add, sub, and mul are now spelled fadd, fsub, and fmul,
2010-03-02 01:11:08 +00:00
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
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
add newlines at the end of files.
2010-04-07 22:53:17 +00:00
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
Teach InstCombine to merge (icmp ult (X + CA), C1) | (icmp eq X, C2) into (icmp ult (X + CA), C1 + 1) if C2 + CA == C1.
2010-12-20 16:18:51 +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
have instcombine preserve nsw/nuw/exact when sinking
2011-02-17 23:01:49 +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
Convert this test to FileCheck and add a testcase for PR3574.
2010-02-23 01:28:09 +00:00
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
Teach InstCombine not to use Add and Neg on FP. PR 8490.
2010-10-27 23:45:18 +00:00
select-load-call.ll
select.ll
Clean up the tests a little, make sure we match an instruction in the right
2011-01-28 05:13:17 +00:00
set.ll
setcc-strength-reduce.ll
sext.ll
Enhance a bunch of transformations in instcombine to start generating
2011-02-10 05:36:31 +00:00
shift-sra.ll
Fix a typo in ValueTracking that's causing instcombine to delete needed shift instructions.
2010-03-13 02:20:29 +00:00
shift.ll
Enhance a bunch of transformations in instcombine to start generating
2011-02-10 05:36:31 +00:00
shufflemask-undef.ll
shufflevec-constant.ll
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
Fix a serious performance regression introduced by r108687 on linux:
2010-09-07 20:01:38 +00:00
srem1.ll
srem-simplify-bug.ll
srem.ll
stack-overalign.ll
stacksaverestore.ll
store.ll
strcpy_chk.ll
Verify function prototypes before trying to optimize functions. We also
2010-04-12 04:48:00 +00:00
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
urem-simplify-bug.ll
more test cleanup
2010-09-02 22:38:56 +00:00
urem.ll
vec_demanded_elts.ll
Teach instcombine about the rest of the SSE and SSE2 conversion
2011-01-10 07:19:37 +00:00
vec_extract_elt.ll
vec_insertelt.ll
vec_narrow.ll
Floating-point add, sub, and mul are now spelled fadd, fsub, and fmul,
2010-03-02 01:11:08 +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
Change instcombine's getShuffleMask to represent undef with negative values.
2010-10-29 22:03:05 +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
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
zext.ll