llvm-project/llvm/test/Transforms/InstCombine
Sanjay Patel fdb3b036cc [InstCombine] add vector tests, fix comments; NFC
The scalar folds are done indirectly and use potentially
expensive value tracking calls. That can be improved
along with the enhancement to support vector types.

llvm-svn: 325051
2018-02-13 21:19:42 +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 [X86] Change signatures of avx512 packed fp compare intrinsics to return a vXi1 mask type to be closer to an fcmp. 2018-02-10 23:33:55 +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-22-NegValVector.ll [InstCombine] Support weird size element types in dyn_castNegVal. 2017-04-11 05:42:47 +00:00
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 [InstCombine] move related tests together; NFC 2017-09-12 15:29:28 +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] fix operand-complexity-based canonicalization (PR28296) 2017-02-03 21:43:34 +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-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.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] Support vector splats in transformZExtICmp 2017-08-29 18:58:13 +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 InstCombine: Fold cos(-x) -> cos(x) 2017-01-04 22:49:03 +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 [Utils] Salvage debug info from all no-op casts 2018-02-13 03:34:23 +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: Check source value precision when reducing cast intrinsic 2017-03-20 21:59:24 +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 [InstCombine] regenerate test checks; NFC 2017-11-16 16:36:48 +00:00
fast-math-scalarization.ll
fast-math.ll [InstCombine] Make sure we preserve fast math flags when folding fp instructions into phi nodes 2017-04-10 07:00:10 +00:00
fcmp-select.ll
fcmp-special.ll [ValueTracking, InstCombine] canonicalize fcmp ord/uno with non-NAN ops to null constants 2017-09-05 23:13:13 +00:00
fcmp.ll [InstCombine] remove duplicate test; NFC 2017-04-09 21:45:52 +00:00
fdiv-cos-sin.ll [InstCombine] For cos/sin -> tan copy attributes from cos instead of the 2018-01-11 15:19:02 +00:00
fdiv-sin-cos.ll [InstCombine] Apply the fix from r322284 for sin / cos -> tan too 2018-01-11 15:33:21 +00:00
fdiv.ll [InstCombine] X / (X * Y) --> 1.0 / Y 2018-02-12 19:39:21 +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 [InstCombine] Regenerate FMUL/FMA combine tests with update_test_checks.py 2017-12-16 17:18:15 +00:00
fmul-sqrt.ll [InstCombine] Missed optimization in math expression: squashing sqrt functions 2018-01-02 05:58:11 +00:00
fmul.ll [InstCombine] Regenerate FMUL/FMA combine tests with update_test_checks.py 2017-12-16 17:18:15 +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
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: Fix assert when reassociating fsub with undef 2017-04-24 17:24:37 +00:00
fwrite-1.ll
gc.relocate.ll
gep-addrspace.ll
gep-sext.ll
gep-vector.ll [ConstantFold] Support vector index when factoring out GEP index into preceding dimensions 2017-12-04 19:56:33 +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-div-constant.ll fix FileCheck variables for test added with r280677 2016-09-05 23:49:32 +00:00
icmp-logical.ll [InstCombine] convert bitwise (in)equality checks to logical ops (PR32401) 2017-07-14 15:09:49 +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] safely create a constant of the right type (PR35794) 2018-01-04 14:31:56 +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 Optimize store of "bitcast" from vector to aggregate. 2016-04-25 22:22:39 +00:00
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 Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +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 [ValueTracking] recognize min/max-of-min/max with notted ops (PR35875) 2018-01-11 15:13:47 +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 Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +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] add vector tests, fix comments; NFC 2018-02-13 21:19:42 +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
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 [InstCombine] move related tests together; NFC 2017-09-12 15:29:28 +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 [InstCombine] Preserve fast math flags when combining PHIs 2016-04-22 11:21:36 +00:00
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 [SimplifyLibCalls] Propagate fast math flags while optimizing pow(). 2017-01-10 18:02:05 +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 [ConstantFolding, ValueTracking] Fold constants involving bitcasts of ConstantVector 2016-05-04 06:13:33 +00:00
pr21199.ll
pr21210.ll [InstCombine] Sharpended test case in pr21210.ll 2016-04-27 17:19:54 +00:00
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
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
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-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 [InstCombine] Simplify binops that are only used by a select and are fed by a select with the same condition. 2017-11-15 05:23:02 +00:00
select_arithmetic.ll [InstCombine] Gating select arithmetic optimization. 2017-09-27 17:16:51 +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.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 [InstCombine] Support pulling left shifts through a subtract with constant LHS 2017-08-08 20:14:11 +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 [instsimplify] consistently handle undef and out of bound indices for insertelement and extractelement 2017-12-30 05:54:22 +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 [InstCombine] Add m_Negative pattern matching 2018-02-08 18:36:01 +00:00
vector-xor.ll [InstCombine] Add constant vector support for ~(C >> Y) --> ~C >> Y 2018-02-10 21:46:09 +00:00
vector_gep1.ll
vector_gep2.ll
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-undef.ll
xor.ll [InstCombine] Support '(C - X) ^ signmask -> (C + signmask - X)' and '(X + C) ^ signmask -> (X + C + signmask)' for vector splats. 2017-08-06 22:17:21 +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.