llvm-project/llvm/test/Transforms/InstCombine
Craig Topper 4b026e5ebd [InstCombine] Add tests for cases where we don't recognize type promoted rotate idioms.
These rotates take the form

(x << (n & mask)) | (x >> (-n & mask)) where mask is bitwidth - 1.

If x has been promoted to a wider type than its original bit width due to type promotion we fail to narrower it and therefore don't recognize it as a rotate.

llvm-svn: 332068
2018-05-11 00:46:09 +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 a vector zero 2018-04-22 17:07:44 +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 [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +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] fix test to restore intent 2018-04-30 21:28:18 +00:00
add2.ll [InstCombine][NFC] add2.ll: add a few commutative checks. 2018-04-26 20:07:17 +00:00
add3.ll
add4.ll [InstCombine] Simplify Add with remainder expressions as operands. 2018-04-26 20:52:28 +00:00
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 [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +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 [PatternMatch] Stabilize the matching order of commutative matchers 2018-04-27 21:23:20 +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 [InstCombine] add shift+logic tests (PR37098); NFC 2018-04-14 13:39:02 +00:00
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] move tests for select with bit-test of condition; NFC 2018-04-24 21:06:06 +00:00
apint-shift-simplify.ll
apint-shift.ll [InstSimplify] move tests for shifts; NFC 2018-04-21 16:58:00 +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] Adjusting bswap pattern matching to hold for And/Shift mixed case 2018-05-01 12:25:46 +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] Widen guards with conditions between 2018-05-09 22:56:32 +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 [PatternMatch] allow undef elements when matching a vector zero 2018-04-22 17:07:44 +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 [PatternMatch] allow undef elements when matching a vector zero 2018-04-22 17:07:44 +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 [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
debuginfo-dce2.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
debuginfo-skip.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
debuginfo-variables.ll Remove brittle check lines from a test, NFC 2018-02-16 01:21:01 +00:00
debuginfo.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
debuginfo_add.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +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 [InstSimplify] move/add/regenerate checks for tests; NFC 2018-04-21 16:23:47 +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
fadd.ll [InstCombine] simplify fneg+fadd folds; NFC 2018-04-16 14:13:57 +00:00
fast-math-scalarization.ll
fast-math.ll [InstCombine] simplify fneg+fadd folds; NFC 2018-04-16 14:13: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
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 X - (cast(-Y) --> X + cast(Y) with hasOneUse() 2018-04-11 15:57:18 +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 [InstCombine] peek through bitcasted vector/array pointer GEP operand 2018-04-18 00:36:40 +00:00
gepgep.ll
gepphigep.ll
getelementptr-folding.ll
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
invert-variable-mask-in-masked-merge-scalar.ll [InstCombine] Canonicalize variable mask in masked merge 2018-04-28 15:45:07 +00:00
invert-variable-mask-in-masked-merge-vector.ll [InstCombine] Canonicalize variable mask in masked merge 2018-04-28 15:45:07 +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 [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +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] add vector test with undef elts; NFC 2018-04-22 15:59:14 +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-merge-add.ll [NFC][InstCombine] A few more tests for masked merge add/xor -> or with constant mask 2018-04-19 13:02:17 +00:00
masked-merge-and-of-ors.ll [InstCombine][NFC] Add tests for one more masked merge pattern. 2018-05-07 09:42:45 +00:00
masked-merge-or.ll [NFC][InstCombine] A few more tests for masked merge add/xor -> or with constant mask 2018-04-19 13:02:17 +00:00
masked-merge-xor.ll [NFC][InstCombine] A few more tests for masked merge add/xor -> or with constant mask 2018-04-19 13:02:17 +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 Eliminate a bitwise 'not' op of 'not' min/max by inverting the min/max. 2018-04-11 10:29:37 +00:00
maxnum.ll [InstCombine] add folds for minnum(-a, -b) --> -maxnum(a, b) 2018-05-10 20:03:13 +00:00
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 [PatternMatch] allow undef elements when matching a vector zero 2018-04-22 17:07:44 +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 [InstCombine] add folds for minnum(-a, -b) --> -maxnum(a, b) 2018-05-10 20:03:13 +00:00
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 [PatternMatch] Stabilize the matching order of commutative matchers 2018-04-27 21:23:20 +00:00
or.ll [NFC][InstCombine] Regenerate two tests that are affected by folding masked merge 2018-04-20 10:49:19 +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
realloc.ll [SimplifyLibcalls] Realloc(null, N) -> Malloc(N) 2018-04-18 14:21:31 +00:00
rem.ll [InstCombine] refine select-of-constants to bitwise ops 2018-05-03 21:58:44 +00:00
rotate.ll [InstCombine] Add tests for cases where we don't recognize type promoted rotate idioms. 2018-05-11 00:46:09 +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-icmp-and.ll [InstCombine] refine select-of-constants to bitwise ops 2018-05-03 21:58:44 +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-obo-peo-ops.ll [InstCombine] new testcases for OverflowingBinaryOperators and PossiblyExactOperators transformations; NFC 2018-05-01 14:27:10 +00:00
select-of-bittest.ll [PatternMatch] allow undef elements when matching a vector zero 2018-04-22 17:07:44 +00:00
select-select.ll
select-with-bitwise-ops.ll [InstCombine] move tests for select with bit-test of condition; NFC 2018-04-24 21:06:06 +00:00
select.ll [InstCombine] move tests for select with bit-test of condition; NFC 2018-04-24 21:06:06 +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 [InstSimplify] move tests for shifts; NFC 2018-04-21 16:58:00 +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
str-int-2.ll [SimplifyLibcalls] Atoi, strtol replacements 2018-04-25 18:58:53 +00:00
str-int.ll [SimplifyLibcalls] Atoi, strtol replacements 2018-04-25 18:58:53 +00:00
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 [InstCombine] Teach SimplifyDemandedBits that udiv doesn't demand low dividend bits that are zero in the divisor 2018-05-09 22:27:34 +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
unfold-masked-merge-with-const-mask-scalar.ll [InstCombine] Unfold masked merge with constant mask 2018-04-30 17:59:33 +00:00
unfold-masked-merge-with-const-mask-vector.ll [InstCombine] Unfold masked merge with constant mask 2018-04-30 17:59:33 +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
unrecognized_three-way-comparison.ll [InstCombine] refine select-of-constants to bitwise ops 2018-05-03 21:58:44 +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 [NFC][InstCombine] Regenerate two tests that are affected by folding masked merge 2018-04-20 10:49:19 +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 Eliminate a bitwise 'not' op of 'not' min/max by inverting the min/max. 2018-04-11 10:29:37 +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.