llvm-project/llvm/test/Transforms/InstCombine
Sanjay Patel a9ca709011 [InstCombine] limit nsz: -(X - Y) --> Y - X to hasOneUse()
As noted in the post-commit discussion for r329350, we shouldn't
generally assume that fsub is the same cost as fneg.

llvm-svn: 329429
2018-04-06 17:24:08 +00:00
..
AArch64 InstCombine: Move tests that use target intrinsics into subdirectories 2017-05-13 05:39:46 +00:00
AMDGPU AMDGPU: Add intrinsics llvm.amdgcn.cvt.{pknorm.i16, pknorm.u16, pk.i16, pk.u16} 2018-01-31 20:18:04 +00:00
ARM InstCombine: Move tests that use target intrinsics into subdirectories 2017-05-13 05:39:46 +00:00
NVPTX Update three tests I missed in r302979 and r302990 2017-05-18 00:58:06 +00:00
PowerPC InstCombine: Move tests that use target intrinsics into subdirectories 2017-05-13 05:39:46 +00:00
X86 [PatternMatch] allow undef elements when matching vector FP +0.0 2018-03-25 21:16:33 +00:00
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-BadLoadCombine.ll
2004-09-20-BadLoadCombine2.ll
2004-09-28-BadShiftAndSetCC.ll
2004-11-22-Missed-and-fold.ll
2004-11-27-SetCCForCastLargerAndConstant.ll [InstCombine] limit icmp transform to ConstantInt (PR28011) 2016-06-06 16:56:57 +00:00
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-07-07-DeadPHILoop.ll
2006-02-13-DemandedMiscompile.ll
2006-02-28-Crash.ll
2006-03-30-ExtractElement.ll
2006-04-28-ShiftShiftLongLong.ll
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-18-VectorInfLoop.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 [InstCombine] allow icmp (div X, Y), C folds for splat constant vectors 2016-08-31 21:57:21 +00:00
2007-03-25-BadShiftMask.ll update to use FileCheck and auto-generate checks 2016-08-09 19:42:52 +00:00
2007-03-25-DoubleShift.ll
2007-03-26-BadShiftMask.ll
2007-04-08-SingleEltVectorCrash.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-17-AliasConstFold2.ll
2007-10-10-EliminateMemCpy.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +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
2007-11-15-CompareMiscomp.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-14-VarArgTrampoline.ll
2008-01-21-MismatchedCastAndCompare.ll
2008-01-21-MulTrunc.ll
2008-01-27-FloatSelect.ll
2008-02-13-MulURem.ll
2008-02-16-SDivOverflow2.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-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-ShiftOneAndOne.ll update test to FileCheck 2016-06-05 16:29:15 +00:00
2008-07-08-SubAnd.ll
2008-07-08-VolatileLoadMerge.ll
2008-07-09-SubAndError.ll
2008-07-10-CastSextBool.ll update test to use FileCheck 2016-06-05 16:41:20 +00:00
2008-07-11-RemAnd.ll
2008-07-13-DivZero.ll
2008-07-16-fsub.ll
2008-08-05-And.ll
2008-09-02-VectorCrash.ll
2008-10-11-DivCompareFold.ll
2008-10-23-ConstFoldWithoutMask.ll
2008-11-01-SRemDemandedBits.ll
2008-11-08-FCmp.ll
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-11-NotInitialized.ll
2009-02-20-InstCombine-SROA.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
2009-02-21-LoadCST.ll
2009-02-25-CrashZeroSizeArray.ll
2009-03-18-vector-ashr-crash.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-05-30-memcpy-Struct.ll
2010-11-01-lshr-mask.ll Revert commit rL323951 2018-02-01 13:05:25 +00:00
2010-11-21-SizeZeroTypeGEP.ll
2010-11-23-Distributed.ll
2011-02-14-InfLoop.ll
2011-03-08-SRemMinusOneBadOpt.ll
2011-05-02-VectorBoolean.ll
2011-05-13-InBoundsGEP.ll
2011-05-28-swapmulsub.ll [InstCombine] auto-generate complete test checks; NFC 2017-11-28 19:07:28 +00:00
2011-06-13-nsw-alloca.ll
2011-09-03-Trampoline.ll [InstCombine] Add debug location to new caller. 2017-12-20 17:16:59 +00:00
2011-10-07-AlignPromotion.ll
2012-01-11-OpaqueBitcastCrash.ll
2012-02-13-FCmp.ll
2012-02-28-ICmp.ll
2012-03-10-InstCombine.ll
2012-3-15-or-xor-constant.ll
2012-04-24-vselect.ll
2012-04-30-SRem.ll
2012-05-28-select-hang.ll
2012-06-06-LoadOfPHIs.ll
2012-6-7-vselect-bitcast.ll
2012-07-25-LoadPart.ll opt: Rename -default-data-layout flag to -data-layout and make it always override the layout. 2017-02-17 17:36:52 +00:00
2012-07-30-addrsp-bitcast.ll
2012-08-28-udiv_ashl.ll
2012-09-17-ZeroSizedAlloca.ll
2012-10-25-vector-of-pointers.ll
2012-12-14-simp-vgep.ll
2013-03-05-Combine-BitcastTy-Into-Alloca.ll
AddOverFlow.ll [InstCombine][KnownBits] Use KnownBits better to detect nsw adds 2017-05-03 23:22:46 +00:00
CPP_min_max.ll
ExtractCast.ll
IntPtrCast.ll
JavaCompare.ll
LandingPadClauses.ll
OverlappingInsertvalues.ll
PR30597.ll [InstCombine] Transform !range metadata to !nonnull when combining loads 2016-10-11 01:00:45 +00:00
README.txt
abs-1.ll [InstCombine] canonicalize shifty abs(): ashr+add+xor --> cmp+neg+sel 2017-12-16 16:41:17 +00:00
abs_abs.ll [ValueTracking] fix matchSelectPattern to allow vector splat folds of min/max/abs/nabs 2016-10-27 15:26:10 +00:00
add-shrink.ll
add-sitofp.ll Fix for PR32740 - Invalid floating type, unreachable between r300969 and r301029 2017-04-22 07:24:52 +00:00
add.ll [InstCombine] move code to remove repeated constant check; NFCI 2017-10-13 20:29:11 +00:00
add2.ll [InstCombine] move code to remove repeated constant check; NFCI 2017-10-13 20:29:11 +00:00
add3.ll
addnegneg.ll
addrspacecast.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
adjust-for-minmax.ll [InstCombine] canonicalize min/max constant to select's false value 2016-11-21 22:04:14 +00:00
alias-recursion.ll
align-2d-gep.ll
align-addr.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
align-attr.ll Teach computeKnownBits to look through returned-argument functions 2016-07-11 02:25:14 +00:00
align-external.ll
all-bits-shift.ll
alloca-cast-debuginfo.ll [InstCombine] Preserve debug values for eliminable casts 2018-01-26 22:02:52 +00:00
alloca.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
allocsize-32.ll
allocsize.ll [Analysis] Ignore `nobuiltin` on `allocsize` function calls. 2016-12-27 06:32:14 +00:00
and-compare.ll [InstCombine] use m_APInt to allow icmp (and X, Y), C folds for splat constant vectors 2016-08-28 18:18:00 +00:00
and-fcmp.ll [InstSimplify, InstCombine] add/update tests with FP +0.0 vector with undef; NFC 2018-03-25 17:48:20 +00:00
and-narrow.ll [InstCombine] Allow common type conversions to i8/i16/i32 2018-02-03 16:51:03 +00:00
and-or-and.ll
and-or-icmps.ll [InstSimplify] use ConstantRange to simplify or-of-icmps 2017-05-07 15:11:40 +00:00
and-or-not.ll [InstCombine] Fold (a | b) ^ (~a | ~b) --> ~(a ^ b) and (a & b) ^ (~a & ~b) --> ~(a ^ b) 2017-07-02 01:15:51 +00:00
and-or.ll [InstCombine] allow mask hoisting transform for vector types 2017-07-31 21:01:53 +00:00
and-xor-merge.ll
and-xor-or.ll
and.ll [InstCombine] fix demanded-bits propagation for zext/trunc 2018-01-17 14:39:28 +00:00
and2.ll [InstCombine] move related tests together; NFC 2017-09-12 15:29:28 +00:00
apint-add.ll [InstCombine] fold add(zext(xor X, C), C) --> sext X when C is INT_MIN in the source type 2016-07-19 22:09:34 +00:00
apint-and-compare.ll
apint-and-or-and.ll
apint-and-xor-merge.ll
apint-and.ll [InstCombine] use FileCheck and auto-generate checks; NFC 2017-05-01 14:20:30 +00:00
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 [InstCombine] Improve mul(x, pow2) -> shl combine for vector constants 2018-02-08 14:10:01 +00:00
apint-mul2.ll [InstCombine] Improve mul(x, pow2) -> shl combine for vector constants 2018-02-08 14:10:01 +00:00
apint-not.ll [InstCombine] consolidate tests for DeMorgan folds; NFC 2017-04-30 18:57:12 +00:00
apint-or.ll [InstCombine] consolidate tests for DeMorgan folds; NFC 2017-04-30 18:57:12 +00:00
apint-rem1.ll
apint-rem2.ll
apint-select.ll [InstCombine] LogicOpc (zext X), C --> zext (LogicOpc X, C) (PR28476) 2016-07-21 00:24:18 +00:00
apint-shift-simplify.ll
apint-shift.ll [InstCombine] allow shl demanded bits folds with splat constants 2017-04-20 21:33:02 +00:00
apint-shl-trunc.ll [InstCombine] use m_APInt to allow icmp (and (sh X, Y), C2), C1 folds for splat constant vectors 2016-09-07 22:33:03 +00:00
apint-sub.ll [InstCombine] put tests of mul with neg operand(s) together; NFC 2018-02-13 23:02:12 +00:00
apint-xor1.ll
apint-xor2.ll
assoc-cast-assoc.ll [InstCombine] LogicOpc (zext X), C --> zext (LogicOpc X, C) (PR28476) 2016-07-21 00:24:18 +00:00
assume-loop-align.ll
assume-redundant.ll Revert @llvm.assume with operator bundles (r289755-r289757) 2016-12-19 08:22:17 +00:00
assume.ll [InstCombine] weaken assertions for icmp folds (PR35846) 2018-01-09 18:56:03 +00:00
assume2.ll [InstCombine] don't use DeMorgan's Law on integer constants (2nd try) 2017-05-02 15:31:40 +00:00
atomic.ll [PR29121] Don't fold if it would produce atomic vector loads or stores 2016-12-01 20:17:06 +00:00
badmalloc.ll
binop-cast.ll
bit-checks.ll [InstCombine][InstSimplify] Teach decomposeBitTestICmp to look through truncate instructions 2017-09-01 21:27:34 +00:00
bitcast-alias-function.ll
bitcast-bigendian.ll [InstCombine] reverse bitcast + bitwise-logic canonicalization (PR33138) 2017-06-22 15:46:54 +00:00
bitcast-bitcast.ll
bitcast-sext-vector.ll
bitcast-store.ll InstCombine: Don't combine loads/stores from swifterror to a new type 2016-09-10 18:14:57 +00:00
bitcast-vec-canon.ll [InstCombine] auto-generate test checks; NFC 2017-05-23 17:51:22 +00:00
bitcast.ll [InstCombine] reverse bitcast + bitwise-logic canonicalization (PR33138) 2017-06-22 15:46:54 +00:00
bitcount.ll
bitreverse-hang.ll
bitreverse-known-bits.ll [ValueTracking] Make sure we keep range metadata information when calculating known bits for calls to bitreverse intrinsic. 2017-03-22 07:22:49 +00:00
bittest.ll
branch.ll [InstCombine] Fold branches with irrelevant conditions to a constant. 2017-08-23 09:14:37 +00:00
broadcast.ll [InstCombine] Fold insert sequence if first ins has multiple users. 2017-08-30 10:54:21 +00:00
bswap-fold.ll Move tests associated with transforms moved in r321467 2017-12-30 03:13:00 +00:00
bswap-known-bits.ll
bswap.ll [InstCombine] add test to show missed bswap; NFC 2018-01-10 18:47:21 +00:00
builtin-object-size-offset.ll Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
builtin-object-size-ptr.ll Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
cabs-array.ll [SimplifyLibCalls] Inline calls to cabs when it's safe to do so 2017-12-16 01:26:25 +00:00
cabs-discrete.ll [SimplifyLibCalls] Inline calls to cabs when it's safe to do so 2017-12-16 01:26:25 +00:00
call-cast-attrs.ll Simplify test for sret attribute in instcombine 2017-04-19 23:17:47 +00:00
call-cast-target-inalloca.ll
call-cast-target.ll
call-guard.ll [InstCombine] Allow InstCombine to merge adjacent guards 2017-02-01 16:34:55 +00:00
call-intrinsics.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
call.ll [InstCombine] Add test to remove VarArg casts (NFC) 2018-01-03 13:35:43 +00:00
call2.ll
call_nonnull_arg.ll [ValueTracking] use nonnull argument attribute to eliminate null checks 2017-02-12 15:35:34 +00:00
canonicalize_branch.ll [InstCombine] add isCanonicalPredicate() helper function and use it; NFCI 2017-05-17 14:21:19 +00:00
cast-call-combine-prof.ll Fix some misc. -enable-var-scope violations 2017-11-13 01:47:52 +00:00
cast-call-combine.ll
cast-callee-deopt-bundles.ll
cast-int-fcmp-eq-0.ll [InstSimplify] More fcmp cases when comparing against negative constants. 2017-12-01 12:34:16 +00:00
cast-int-icmp-eq-0.ll [InstCombine] adjust test comments; NFC 2018-03-25 14:24:32 +00:00
cast-mul-select.ll [InstCombine] don't try to evaluate instructions with >1 use (revert r324014) 2018-02-05 21:50:32 +00:00
cast-set.ll auto-ggenerate checks 2016-07-16 16:24:06 +00:00
cast-unsigned-icmp-eqcmp-0.ll [InstCombine] peek through unsigned FP casts for zero-equality compares (PR36682) 2018-03-18 15:53:02 +00:00
cast.ll [InstCombine] Fix a weakness in canEvaluateZExtd around 'and' instructions 2017-08-21 16:04:11 +00:00
cast_ptr.ll
ceil.ll
clamp-to-minmax.ll [InstCombine] Canonicalize clamp of float types to minmax in fast mode. 2017-08-04 12:22:17 +00:00
cmp-intrinsic.ll [InstCombine] move and improve tests for cmp-intrinsic; NFC 2017-07-03 14:07:40 +00:00
compare-3way.ll [InstCombine] Recognize and simplify three way comparison idioms 2017-06-23 13:41:45 +00:00
compare-alloca.ll Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
compare-signs.ll [InstCombine] add folds for xor-of-icmp signbit tests (PR36682) 2018-03-22 14:08:16 +00:00
compare-udiv.ll [InstCombine] use m_APInt to allow icmp (udiv X, Y), C folds for splat constant vectors 2016-08-18 17:55:59 +00:00
compare-unescaped.ll [InstCombine] fix operand-complexity-based canonicalization (PR28296) 2017-02-03 21:43:34 +00:00
consecutive-fences.ll Enhance synchscope representation 2017-07-11 22:23:00 +00:00
constant-expr-datalayout.ll
constant-fold-address-space-pointer.ll
constant-fold-alias.ll
constant-fold-compare.ll
constant-fold-gep.ll
constant-fold-iteration.ll [InstCombine] Prevent InstCombine from triggering an extra iteration if something changed in the initial Worklist creation 2017-05-13 06:56:04 +00:00
constant-fold-libfunc.ll Add strictfp attribute to prevent unwanted optimizations of libm calls 2017-08-14 21:15:13 +00:00
constant-fold-math.ll [InstCombine] Add frem constant folding test (PR3316) 2017-04-19 21:09:19 +00:00
convergent.ll Fix some misc. -enable-var-scope violations 2017-11-13 01:47:52 +00:00
copysign.ll
cos-1.ll
cos-2.ll
cos-intrinsic.ll [PatternMatch] allow vector matches with m_FNeg 2018-02-20 23:29:05 +00:00
crash.ll
ctpop.ll Fix some misc. -enable-var-scope violations 2017-11-13 01:47:52 +00:00
dce-iterate.ll
deadcode.ll Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
debug-line.ll
debuginfo-dce.ll Parse and print DIExpressions inline to ease IR and MIR testing 2017-08-23 20:31:27 +00:00
debuginfo-dce2.ll [InstCombine] Salvage debug info during initial DCE 2017-11-15 18:51:12 +00:00
debuginfo-skip.ll [InstCombine] Add a flag to disable LowerDbgDeclare 2017-09-13 01:43:25 +00:00
debuginfo-variables.ll Remove brittle check lines from a test, NFC 2018-02-16 01:21:01 +00:00
debuginfo.ll [InstCombine] Add a flag to disable LowerDbgDeclare 2017-09-13 01:43:25 +00:00
debuginfo_add.ll InstCombine: salvage the debug info of DCE'ed add instructions. 2017-11-06 22:49:39 +00:00
default-alignment.ll
demand_shrink_nsw.ll [InstCombine][KnownBits] Use KnownBits better to detect nsw adds 2017-05-03 23:22:46 +00:00
demorgan.ll [InstCombine] fix auto-generated FileCheck-captured variable refs 2017-05-10 14:40:04 +00:00
disable-simplify-libcalls.ll
distribute.ll
div-shift-crash.ll
div-shift.ll [InstCombine] (X << Y) / X -> 1 << Y 2018-01-21 16:14:51 +00:00
div.ll [InstCombine] X / (X * Y) -> 1 / Y if the multiplication does not overflow 2018-02-11 17:20:32 +00:00
double-float-shrink-1.ll
double-float-shrink-2.ll [InstCombine] add multi-use/vector tests for intrinsic shrinking; NFC 2018-03-24 14:45:41 +00:00
early_constfold_changes_IR.ll [InstCombine] Make sure AddReachableCodeToWorklist sets MadeIRChange 2017-06-19 18:00:27 +00:00
early_dce_clobbers_callgraph.ll [InstCombine] Make sure AddReachableCodeToWorklist sets MadeIRChange 2017-06-19 18:00:27 +00:00
element-atomic-memcpy-to-loads.ll [Atomics] Rename and change prototype for atomic memcpy intrinsic 2017-06-16 14:43:59 +00:00
element-atomic-memintrins.ll Add element-atomic mem intrinsic canary tests for InstCombine. 2017-07-18 01:06:47 +00:00
enforce-known-alignment.ll
err-rep-cold.ll Fix some misc. -enable-var-scope violations 2017-11-13 01:47:52 +00:00
exact.ll [InstCombine] use m_APInt to allow ashr folds for vectors with splat constants 2017-01-15 16:38:19 +00:00
exp2-1.ll
exp2-2.ll
extractelement.ll [instsimplify] consistently handle undef and out of bound indices for insertelement and extractelement 2017-12-30 05:54:22 +00:00
extractinsert-tbaa.ll [InstCombine] Retain TBAA when narrowing memory accesses 2017-06-28 23:36:40 +00:00
extractvalue.ll
fabs-libcall.ll [InstCombine] regenerate test checks; NFC 2017-11-16 16:38:42 +00:00
fabs.ll [PatternMatch] allow undef elements when matching vector FP +0.0 2018-03-25 21:16:33 +00:00
fast-math-scalarization.ll
fast-math.ll [InstCombine] distribute fmul over fadd/fsub 2018-03-26 15:03:57 +00:00
fcmp-select.ll
fcmp-special.ll [PatternMatch] allow undef elements when matching vector FP +0.0 2018-03-25 21:16:33 +00:00
fcmp.ll [PatternMatch] define m_FNeg using m_FSub 2018-04-05 15:36:55 +00:00
fdiv-cos-sin.ll [InstCombine] allow sin/cos transforms with 'reassoc' 2018-02-15 15:07:12 +00:00
fdiv-sin-cos.ll [InstCombine] allow sin/cos transforms with 'reassoc' 2018-02-15 15:07:12 +00:00
fdiv.ll [PatternMatch] define m_FNeg using m_FSub 2018-04-05 15:36:55 +00:00
ffs-1.ll [InstCombine] narrow truncated add/sub/mul with constant 2017-08-04 22:30:34 +00:00
float-shrink-compare.ll [InstCombine] regenerate test checks; NFC 2017-11-16 16:59:49 +00:00
fls.ll [InstCombine] narrow truncated add/sub/mul with constant 2017-08-04 22:30:34 +00:00
fma.ll [PatternMatch] define m_FNeg using m_FSub 2018-04-05 15:36:55 +00:00
fmul-sqrt.ll [InstCombine] add nnan requirement for sqrt(x) * sqrt(y) -> sqrt(x*y) 2018-03-18 14:32:54 +00:00
fmul.ll [PatternMatch] define m_FNeg using m_FSub 2018-04-05 15:36:55 +00:00
fneg-ext.ll
fold-bin-operand.ll
fold-calls.ll
fold-fops-into-selects.ll
fold-phi-load-metadata.ll Don't passively concatenate MDNodes 2016-08-16 18:48:34 +00:00
fold-phi.ll
fold-sqrt-sqrtf.ll
fold-vector-select.ll
fold-vector-zero.ll
fp-ret-bitcast.ll
fpcast.ll
fpextend.ll [InstCombine] Add constant vector support to getMinimumFPType for visitFPTrunc. 2018-03-05 18:04:12 +00:00
fpextend_x86.ll
fprintf-1.ll
fputs-1.ll
fputs-opt-size.ll Code size optimisation: don't rewrite fputs to fwrite when optimising for size 2016-07-07 13:56:23 +00:00
fsub.ll [InstCombine] limit nsz: -(X - Y) --> Y - X to hasOneUse() 2018-04-06 17:24:08 +00:00
fwrite-1.ll
gc.relocate.ll
gep-addrspace.ll
gep-combine-loop-invariant.ll [InstCombine] Properly change GEP type when reassociating loop invariant GEP chains 2018-04-05 18:51:45 +00:00
gep-custom-dl.ll Adding a width of the GEP index to the Data Layout. 2018-02-14 06:58:08 +00:00
gep-sext.ll
gep-vector.ll [InstSimplify] regenerate checks, move tests; NFC 2018-03-23 15:31:31 +00:00
gepgep.ll
gepphigep.ll
getelementptr-folding.ll [ConstantFold] Fix incorrect index rewrites for GEPs 2016-05-26 07:08:05 +00:00
getelementptr.ll Fix some misc. -enable-var-scope violations 2017-11-13 01:47:52 +00:00
hoist_instr.ll
icmp-add.ll [InstCombine] Remove a FIXME from a test that was fixed in r314025. 2017-09-22 21:47:20 +00:00
icmp-bc-vec.ll [InstCombine] Fold compare of int constant against a splatted vector of ints 2018-04-03 17:26:20 +00:00
icmp-custom-dl.ll Adding a width of the GEP index to the Data Layout. 2018-02-14 06:58:08 +00:00
icmp-div-constant.ll fix FileCheck variables for test added with r280677 2016-09-05 23:49:32 +00:00
icmp-logical.ll Simplify more cases of logical ops of masked icmps. 2018-03-13 21:13:18 +00:00
icmp-mul-zext.ll [InstCombine] don't try to evaluate instructions with >1 use (revert r324014) 2018-02-05 21:50:32 +00:00
icmp-range.ll
icmp-shl-nsw.ll [InstCombine] icmp Pred (shl nsw X, C1), C0 --> icmp Pred X, C0 >> C1 2017-01-19 16:12:10 +00:00
icmp-shl-nuw.ll [InstCombine] Fold nuw left-shifts in `ugt`/`ule` comparisons. 2016-11-01 19:19:29 +00:00
icmp-shr-lt-gt.ll [InstCombine] improve folds for icmp gt/lt (shr X, C1), C2 2017-10-05 21:11:49 +00:00
icmp-shr.ll revert r314984: revert r314698 - [InstCombine] remove one-use restriction for icmp (shr exact X, C1), C2 --> icmp X, (C2<<C1) 2017-10-15 15:39:15 +00:00
icmp-vec.ll [InstCombine] use m_APInt to allow icmp ult X, C folds for splat constant vectors 2016-09-09 21:59:37 +00:00
icmp-xor-signbit.ll [InstCombine] reverse bitcast + bitwise-logic canonicalization (PR33138) 2017-06-22 15:46:54 +00:00
icmp.ll [InstCombine] add folds for icmp + sub (PR36969) 2018-04-02 20:37:40 +00:00
idioms.ll
indexed-gep-compares.ll [InstCombine] Make sure that LHS and RHS have the same type in 2017-01-31 14:04:15 +00:00
inline-intrinsic-assert.ll
insert-const-shuf.ll [InstCombine] Fix for PR29124: reduce insertelements to shufflevector 2016-09-23 09:14:08 +00:00
insert-extract-shuffle.ll [InstCombine] Fix extractelement use before def 2017-06-05 09:18:10 +00:00
insert-val-extract-elem.ll
int_sideeffect.ll Add an @llvm.sideeffect intrinsic 2017-11-08 21:59:51 +00:00
intptr1.ll Renable r314928 2017-10-10 05:07:54 +00:00
intptr2.ll Renable r314928 2017-10-10 05:07:54 +00:00
intptr3.ll Renable r314928 2017-10-10 05:07:54 +00:00
intptr4.ll Renable r314928 2017-10-10 05:07:54 +00:00
intptr5.ll Renable r314928 2017-10-10 05:07:54 +00:00
intptr6.ll Renable r314928 2017-10-10 05:07:54 +00:00
intptr7.ll Renable r314928 2017-10-10 05:07:54 +00:00
intrinsics.ll Move tests associated with transforms moved in r321467 2017-12-30 03:13:00 +00:00
invariant.ll Revert "Revert "Invariant start/end intrinsics overloaded for address space"" 2016-08-13 23:31:24 +00:00
invoke.ll
isascii-1.ll
isdigit-1.ll
known_align.ll
lifetime-asan.ll Hardware-assisted AddressSanitizer (llvm part). 2017-12-09 00:21:41 +00:00
lifetime.ll Merge isKnownNonNull into isKnownNonZero 2017-09-09 18:23:11 +00:00
load-bitcast-select.ll [InstCombine] PR35354: Convert store(bitcast, load bitcast (select (Cond, &V1, &V2)) --> store (, load (select(Cond, load &V1, load &V2))) 2017-12-08 15:32:10 +00:00
load-bitcast32.ll
load-bitcast64.ll
load-cmp.ll opt: Rename -default-data-layout flag to -data-layout and make it always override the layout. 2017-02-17 17:36:52 +00:00
load-combine-metadata-2.ll
load-combine-metadata-3.ll
load-combine-metadata-4.ll
load-combine-metadata.ll [Verifier] Add verification for TBAA metadata 2016-12-11 20:07:15 +00:00
load-select.ll
load.ll Don't combine stores to a swifterror pointer operand to a different type 2017-01-31 17:53:49 +00:00
load3.ll
load_combine_aa.ll
loadstore-alignment.ll Fix known zero bits for addrspacecast. 2016-11-21 15:42:31 +00:00
loadstore-metadata.ll [Verifier] Add verification for TBAA metadata 2016-12-11 20:07:15 +00:00
log-pow-nofastmath.ll
log-pow.ll Don't remove side effecting instructions due to ConstantFoldInstruction 2016-07-22 04:54:44 +00:00
logical-select.ll [InstCombine] Support sext in foldLogicCastConstant 2017-08-02 20:25:56 +00:00
lshr-phi.ll
lshr.ll [InstCombine] narrow lshr with constant 2017-08-04 15:42:47 +00:00
malloc-free-delete.ll [Analysis] Support aligned new/delete functions. 2018-04-04 19:01:51 +00:00
masked_intrinsics.ll Support arbitrary address space pointers in masked gather/scatter intrinsics. 2017-05-03 12:28:54 +00:00
max-of-nots.ll [InstCombine] add min/max tests with not ops; NFC 2018-03-08 18:34:23 +00:00
maxnum.ll
mem-gep-zidx.ll
mem-par-metadata-memcpy.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
memchr.ll SimplifyLibCalls: Optimize wcslen 2017-05-19 22:37:09 +00:00
memcmp-1.ll [InstCombine] auto-generate better checks; NFC 2017-04-09 15:44:59 +00:00
memcmp-2.ll
memcmp-constant-fold.ll [LibCallSimplifier] try harder to fold memcmp with constant arguments (2nd try) 2017-08-21 19:13:14 +00:00
memcpy-1.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
memcpy-2.ll [InstCombine] regenerate test checks; NFC 2017-08-10 15:07:37 +00:00
memcpy-addrspace.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
memcpy-from-global.ll [InstCombine] Simplify MemTransferInst's source and dest alignments separately 2018-02-12 23:06:55 +00:00
memcpy-to-load.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
memcpy.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
memcpy_chk-1.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
memcpy_chk-2.ll
memmove-1.ll
memmove-2.ll
memmove.ll [InstCombine] Simplify MemTransferInst's source and dest alignments separately 2018-02-12 23:06:55 +00:00
memmove_chk-1.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
memmove_chk-2.ll
memset-1.ll [InstCombine] add potential calloc tests and regenerate checks; NFC 2018-04-06 16:06:08 +00:00
memset-2.ll
memset.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
memset2.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
memset_chk-1.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
memset_chk-2.ll
merge-icmp.ll
min-positive.ll [InstCombine] allow (icmp sgt smin(PosA, B), 0) fold for vectors 2016-09-15 16:23:20 +00:00
minmax-fold.ll [ValueTracking] remove overzealous assert 2018-01-08 18:31:13 +00:00
minmax-fp.ll [ValueTracking] ignore FP signed-zero when detecting a casted-to-integer fmin/fmax pattern 2017-12-26 15:09:19 +00:00
minnum.ll
misc-2002.ll
mul-masked-bits.ll
mul.ll [InstCombine] put tests of mul with neg operand(s) together; NFC 2018-02-13 23:02:12 +00:00
multi-size-address-space-pointer.ll
multi-use-or.ll
multiple-uses-load-bitcast-select.ll [InstCombine] Fix PR35618: Instcombine hangs on single minmax load bitcast. 2017-12-12 20:28:46 +00:00
musttail-thunk.ll [InstCombine] Don't strip function type casts from musttail calls 2018-04-02 22:49:44 +00:00
narrow-switch.ll opt: Rename -default-data-layout flag to -data-layout and make it always override the layout. 2017-02-17 17:36:52 +00:00
narrow.ll [InstCombine] fix operand-complexity-based canonicalization (PR28296) 2017-02-03 21:43:34 +00:00
no-negzero.ll
no_cgscc_assert.ll
non-integral-pointers.ll Fix invalid ptrtoint in InstCombine 2017-10-22 20:28:17 +00:00
nonnull-attribute.ll
not.ll [InstCombine] fix icmp with not op and constant to work with splat vector constant 2017-06-02 16:29:41 +00:00
nothrow.ll
nsw.ll
obfuscated_splat.ll
objsize-64.ll
objsize-address-space.ll
objsize-noverify.ll
objsize.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
odr-linkage.ll
onehot_merge.ll [InstCombine] Fold (!iszero(A & K1) & !iszero(A & K2)) -> (A & (K1 | K2)) == (K1 | K2) if K1 and K2 are a 1-bit mask 2017-06-16 05:10:37 +00:00
opaque.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
or-fcmp.ll [InstSimplify, InstCombine] add/update tests with FP +0.0 vector with undef; NFC 2018-03-25 17:48:20 +00:00
or-shifted-masks.ll Inserting several lit tests to reflect current behaviour 2017-12-14 12:00:04 +00:00
or-xor.ll [InstCombine] add descriptive comments for tests; NFC 2017-07-13 17:24:57 +00:00
or.ll [InstCombine] move related tests together; NFC 2017-09-12 15:29:28 +00:00
osx-names.ll
out-of-bounds-indexes.ll Reintroduce r320049, r320014 and r319894. 2017-12-13 11:21:18 +00:00
overflow-mul.ll
overflow.ll
phi-load-metadata-2.ll
phi-load-metadata-3.ll
phi-load-metadata.ll
phi-merge-gep.ll
phi-preserve-ir-flags.ll
phi-select-constant.ll Fix some misc. -enable-var-scope violations 2017-11-13 01:47:52 +00:00
phi-timeout.ll Remove unneeded -debug argument from new test 2018-02-03 17:33:50 +00:00
phi.ll Revert "[ValueTracking] Teach computeKnownBits for PHI nodes to compute sign bit for a recurrence with a NSW addition." 2016-06-29 04:57:00 +00:00
pow-1.ll [SimplifyLibCalls] propagate FMF when folding pow(x, -1.0) call 2017-12-10 17:25:54 +00:00
pow-2.ll
pow-3.ll
pow-4.ll [InstCombine] auto-generate full checks; NFC 2018-03-01 15:13:42 +00:00
pow-exp-nofastmath.ll
pow-exp.ll
pow-sqrt.ll [LibCallSimplifier] allow splat vectors for pow(x, 0.5) -> sqrt() transforms 2017-11-19 16:42:27 +00:00
pr2645-0.ll
pr2996.ll
pr12251.ll
pr12338.ll
pr17827.ll [InstCombine] Teach the code that pulls logical operators through constant shifts to handle vector splats too. 2017-08-05 20:00:42 +00:00
pr19420.ll [InstCombine] auto-generate better test checks; NFC 2017-02-03 20:56:38 +00:00
pr20079.ll
pr20678.ll
pr21199.ll
pr21210.ll
pr21651.ll [InstCombine] shrink switch conditions better (PR24766) 2016-06-30 14:51:21 +00:00
pr21891.ll
pr23751.ll
pr23809.ll
pr24354.ll
pr24605.ll
pr25342.ll [InstCombine] Resubmit the combine of A->B->A BitCast and fix for pr27996 2016-10-25 20:43:42 +00:00
pr25745.ll
pr26992.ll
pr26993.ll
pr27236.ll [InstCombine] Canonicalize clamp of float types to minmax in fast mode. 2017-08-04 12:22:17 +00:00
pr27332.ll
pr27703.ll [InstCombine] Resubmit the combine of A->B->A BitCast and fix for pr27996 2016-10-25 20:43:42 +00:00
pr27996.ll [InstCombine] Resubmit the combine of A->B->A BitCast and fix for pr27996 2016-10-25 20:43:42 +00:00
pr28143.ll [TargetLibraryInfo] Teach isValidProtoForLibFunc about tan 2016-06-15 16:47:23 +00:00
pr28725.ll Reintroduce r320049, r320014 and r319894. 2017-12-13 11:21:18 +00:00
pr30929.ll [LibcallsShrinkWrap] This pass doesn't preserve the CFG. 2016-11-08 19:18:20 +00:00
pr31990_wrong_memcpy.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
pr32686.ll Regenerate test. NFCI. 2017-04-19 12:06:40 +00:00
pr33453.ll [InstCombine] Make FPMathOperator working with ConstantExpression(s). 2017-06-17 00:07:22 +00:00
pr33689_same_bitwidth.ll Add original reproducer for r307754 / PR33689 2017-07-13 07:38:53 +00:00
pr34349.ll [InstCombine] Call hasNoSignedWrap instead of hasNoUnsignedWrap to get the NSW flag when handling Add in SimplifyDemandedUseBits. 2017-08-28 18:44:28 +00:00
pr34627.ll [ConstantFold] Return the correct type when folding a GEP with vector indices. 2017-09-15 20:53:05 +00:00
pr35515.ll [InstCombine] Fix SimplifyDemandedUseBits SHL handling (PR35515) 2017-12-09 23:42:56 +00:00
pr36362.ll [InstCombine] Don't fold select(C, Z, binop(select(C, X, Y), W)) -> select(C, Z, binop(Y, W)) if the binop is rem or div. 2018-02-14 18:08:33 +00:00
prefetch-load.ll Change the default attributes for llvm.prefetch to inaccessiblemem_or_argmemonly 2017-03-25 20:20:23 +00:00
preserve-sminmax.ll
preserved-analyses.ll [PM] Fix instcombine's analysis preservation in the new pass manager to 2017-01-14 23:25:22 +00:00
prevent-cmp-merge.ll
printf-1.ll Fix some misc. -enable-var-scope violations 2017-11-13 01:47:52 +00:00
printf-2.ll
printf-3.ll
ptr-int-cast.ll
puts-1.ll
range-check.ll
readnone-maythrow.ll [InstCombine] Don't DSE across readnone functions that may throw 2017-01-17 05:45:09 +00:00
rem.ll [InstCombine] fix miscompile of frem with 0.0 operand (PR34870) 2017-12-26 22:12:20 +00:00
rotate.ll [InstCombine] narrow rotate left/right patterns to eliminate zext/trunc (PR34046) 2017-08-09 18:37:41 +00:00
round.ll
sdiv-1.ll
sdiv-2.ll
select-2.ll
select-bitext-bitwise-ops.ll Inserting several lit tests to reflect current behaviour 2017-12-14 12:00:04 +00:00
select-bitext.ll Revert commit rL323951 2018-02-01 13:05:25 +00:00
select-cmp-br.ll [InstCombine] Fold branches with irrelevant conditions to a constant. 2017-08-23 09:14:37 +00:00
select-cmp-cttz-ctlz.ll [PatternMatch] Remove 64-bit or less restriction from m_SpecificInt 2017-06-27 15:39:40 +00:00
select-cmpxchg.ll [InstCombine] Simplify selects that test cmpxchg instructions 2017-10-31 12:34:02 +00:00
select-crash-noverify.ll
select-crash.ll [InstCombine, NewGVN] remove FP undef from tests 2018-03-08 14:57:08 +00:00
select-extractelement.ll [InstCombine] remove extract-of-select vector transform (2nd try) 2017-09-25 20:30:53 +00:00
select-gep.ll [InstCombine] Make foldSelectOpOp able to handle two-operand getelementptr 2018-01-19 10:05:15 +00:00
select-implied.ll [ValueTracking] Fix the identity case (LHS => RHS) when the LHS is false. 2017-07-07 13:55:55 +00:00
select-load-call.ll
select-of-bittest.ll [InstCombine][NFC] Regenerate select-of-bittest.ll with instnamer pass 2018-04-05 21:34:59 +00:00
select-select.ll
select-with-bitwise-ops.ll [InstCombine] Add test cases for folding (select (icmp ne/eq (and X, C1), (bitwiseop Y, C2), Y -> (bitwiseop Y, (shl/shr (and X, C1), C3)) or similar. 2017-09-05 05:26:38 +00:00
select.ll [PatternMatch] enhance m_One() to ignore undef elements in vectors 2018-02-17 16:00:42 +00:00
select_arithmetic.ll [InstCombine] auto-generate complete checks; NFC 2018-02-28 16:53:45 +00:00
select_meta.ll Fix some misc. -enable-var-scope violations 2017-11-13 01:47:52 +00:00
set.ll [InstCombine] Support vector splats in transformZExtICmp 2017-08-29 18:58:13 +00:00
setcc-strength-reduce.ll
sext.ll [InstCombine] fix auto-generated FileCheck-captured variable refs 2017-05-10 14:40:04 +00:00
shift-add.ll [InstCombine] Folding of shifts by the sum of positive values 2016-11-01 15:40:30 +00:00
shift-shift.ll
shift-sra.ll [InstCombine] sink sext after ashr 2017-08-15 18:25:52 +00:00
shift.ll [InstCombine] Check for out of range ashr values using APInt before calling getZExtValue 2018-01-09 14:23:46 +00:00
should-change-type.ll [InstCombine] Allow common type conversions to i8/i16/i32 2018-02-03 16:51:03 +00:00
shufflevec-bitcast.ll InstCombine: fix extraction when performing vector/array punning 2017-02-17 07:36:03 +00:00
shufflevec-constant.ll
sign-test-and-or.ll minimize tests and auto-generate checks 2016-07-20 17:58:20 +00:00
signed-comparison.ll [InstCombine] allow vector constants for cast+icmp fold 2016-06-04 22:04:05 +00:00
signext.ll [InstCombine] fix datalayout in test file 2018-01-24 21:36:45 +00:00
simplify-demanded-bits-pointer.ll
simplify-libcalls.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
sincospi.ll
sink-into-catchswitch.ll
sink-zext.ll [InstCombine] Add a test for r290733 2017-01-04 02:21:37 +00:00
sink_instruction.ll [InstCombine] Allow sinking from unique predecessor with multiple edges 2016-08-22 18:21:56 +00:00
sitofp.ll [InstCombine] auto-generate better checks; NFC 2017-03-21 14:04:44 +00:00
smax-icmp.ll [InstCombine] add folds for icmp (smax X, Y), X 2016-12-19 16:28:53 +00:00
smin-icmp.ll [InstCombine] add folds for icmp (smin X, Y), X 2016-12-15 19:13:37 +00:00
sprintf-1.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
sqrt-nofast.ll
sqrt.ll
srem-simplify-bug.ll
srem1.ll
stack-overalign.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
stacksaverestore.ll
statepoint.ll
store-load-unaliased-gep.ll [PM][InstCombine] fixing omission of AliasAnalysis in new-pass-manager's version of InstCombine 2017-12-14 10:36:31 +00:00
store.ll [InstComineLoadStoreAlloca] Optimize stores to GEP off null base 2017-12-12 14:12:33 +00:00
stpcpy-1.ll
stpcpy-2.ll
stpcpy_chk-1.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
stpcpy_chk-2.ll
strcat-1.ll
strcat-2.ll
strcat-3.ll
strchr-1.ll
strchr-2.ll
strcmp-1.ll
strcmp-2.ll
strcpy-1.ll
strcpy-2.ll
strcpy_chk-1.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
strcpy_chk-2.ll
strcpy_chk-64.ll Merge isKnownNonNull into isKnownNonZero 2017-09-09 18:23:11 +00:00
strcspn-1.ll
strcspn-2.ll
strlen-1.ll Merge isKnownNonNull into isKnownNonZero 2017-09-09 18:23:11 +00:00
strlen-2.ll
strncat-1.ll
strncat-2.ll
strncat-3.ll
strncmp-1.ll
strncmp-2.ll
strncmp-wrong-datalayout.ll [TargetLibraryInfo] Discard library functions with incorrectly sized integers 2017-12-18 10:31:58 +00:00
strncpy-1.ll
strncpy-2.ll
strncpy_chk-1.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
strncpy_chk-2.ll
strpbrk-1.ll
strpbrk-2.ll
strrchr-1.ll
strrchr-2.ll
strspn-1.ll
strstr-1.ll
strstr-2.ll
strto-1.ll
struct-assign-tbaa-new.ll [Transforms] Propagate new-format TBAA tags on simplification of memory-transfer intrinsics 2018-02-19 12:10:20 +00:00
struct-assign-tbaa.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
sub-xor.ll Replace hardcoded intrinsic list with speculatable attribute. 2017-05-03 02:26:10 +00:00
sub.ll [PatternMatch] define m_Not using m_Xor and cst_pred_ty 2018-03-06 18:19:42 +00:00
switch-constant-expr.ll [InstCombine] Fix constexpr issue in select combining 2016-10-12 10:20:15 +00:00
switch-truncate-crash.ll
tan-nofastmath.ll
tan.ll
tbaa-store-to-load.ll [Verifier] Add verification for TBAA metadata 2016-12-11 20:07:15 +00:00
toascii-1.ll
token.ll
trunc-binop-ext.ll [InstCombine] include 'sub' in the list of narrow-able binops 2017-11-16 14:40:51 +00:00
trunc.ll [InstCombine] Consider more cases where SimplifyDemandedUseBits does not convert AShr to LShr. 2017-08-25 11:07:54 +00:00
type_pun.ll Update tests for the patch. 2017-04-14 17:47:07 +00:00
udiv-simplify.ll [ValueTracking] Don't assume shift values are in range 2018-01-01 22:44:59 +00:00
udiv_select_to_select_shift.ll [InstCombine] Add constant vector support for X udiv C, where C >= signbit 2018-02-09 10:43:59 +00:00
udivrem-change-width.ll [InstCombine] fix and enhance udiv/urem narrowing 2017-08-24 22:54:01 +00:00
umax-icmp.ll [InstCombine] add folds for icmp (umin|umax X, Y), X 2016-12-19 17:32:37 +00:00
umin-icmp.ll [InstCombine] add folds for icmp (umin|umax X, Y), X 2016-12-19 17:32:37 +00:00
unordered-fcmp-select.ll
unpack-fca.ll [InstCombine] Don't unpack arrays that are too large (part 2). 2016-10-07 21:53:09 +00:00
unsigned_saturated_sub.ll [InstCombine] add unsigned saturation subtraction canonicalizations 2018-02-05 17:53:29 +00:00
urem-simplify-bug.ll [InstSimplify] Optimize away urems in the presence of range metadata 2017-01-06 21:23:51 +00:00
vararg.ll Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
vec_demanded_elts.ll [InstCombine] remove stale comments for tests; NFC 2018-03-01 16:28:32 +00:00
vec_extract_2elts.ll
vec_extract_elt.ll
vec_extract_var_elt.ll
vec_insertelt.ll
vec_narrow.ll
vec_phi_extract.ll [InstCombine] Support ~(c-X) --> X+(-c-1) and ~(X-c) --> (-c-1)-X for splat vectors. 2017-08-06 06:28:41 +00:00
vec_sext.ll [InstCombine] fix operand-complexity-based canonicalization (PR28296) 2017-02-03 21:43:34 +00:00
vec_shuffle.ll [InstCombine] regenerate checks; NFC 2016-11-09 22:21:58 +00:00
vector-casts.ll [InstCombine] Remove check for sext of vector icmp from shouldOptimizeCast 2017-08-22 23:40:15 +00:00
vector-mul.ll [InstCombine] Regenerate vector mul tests. 2018-02-08 17:54:24 +00:00
vector-type.ll
vector-udiv.ll [InstCombine] Add constant vector support for X udiv C, where C >= signbit 2018-02-09 10:43:59 +00:00
vector-urem.ll [PatternMatch] enhance m_One() to ignore undef elements in vectors 2018-02-17 16:00:42 +00:00
vector-xor.ll [PatternMatch] define m_Not using m_Xor and cst_pred_ty 2018-03-06 18:19:42 +00:00
vector_gep1.ll [InstCombine] auto-generate checks; NFC 2018-03-23 15:39:03 +00:00
vector_gep2.ll [InstCombine] auto-generate checks; NFC 2018-03-23 15:39:03 +00:00
vector_insertelt_shuffle.ll [instsimplify] consistently handle undef and out of bound indices for insertelement and extractelement 2017-12-30 05:54:22 +00:00
volatile_store.ll
wcslen-1.ll TargetLibraryInfo: Stop guessing wchar_t size 2017-09-26 02:36:57 +00:00
wcslen-2.ll TargetLibraryInfo: Stop guessing wchar_t size 2017-09-26 02:36:57 +00:00
wcslen-3.ll Merge isKnownNonNull into isKnownNonZero 2017-09-09 18:23:11 +00:00
wcslen-4.ll TargetLibraryInfo: Stop guessing wchar_t size 2017-09-26 02:36:57 +00:00
weak-symbols.ll
win-math.ll SimplifyLibCalls: Replace more unary libcalls with intrinsics 2017-01-23 23:55:08 +00:00
xor-icmps.ll [InstCombine] add folds for xor-of-icmp signbit tests (PR36682) 2018-03-22 14:08:16 +00:00
xor-undef.ll
xor.ll [InstCombine] move/add tests for xor-of-icmps (PR36682); NFC 2018-03-21 15:54:48 +00:00
xor2.ll [InstCombine] Cleanup some duplicated one use checks 2017-06-19 16:23:49 +00:00
zero-point-zero-add.ll SimplifyLibCalls: Replace fabs libcalls with intrinsics 2017-01-17 00:10:40 +00:00
zeroext-and-reduce.ll [InstCombine] LogicOpc (zext X), C --> zext (LogicOpc X, C) (PR28476) 2016-07-21 00:24:18 +00:00
zext-bool-add-sub.ll [InstCombine] canonicalize constant-minus-boolean to select-of-constants 2017-12-06 21:22:57 +00:00
zext-fold.ll
zext-or-icmp.ll [ValueTracking] Out of range shifts might be undef 2017-03-14 10:13:17 +00:00
zext-phi.ll [InstCombine] treat i1 as a special type in shouldChangeType() 2017-02-03 23:13:11 +00:00
zext.ll [InstCombine] revert r300977 and r301021 2017-04-21 20:29:17 +00:00

README.txt

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.