llvm-project/llvm/test/Transforms/InstCombine
Philip Reames da41cfddca Add test coverage for D109917 and variants 2021-12-22 19:38:40 -08:00
..
AArch64 [AArch64][SVE] Instcombine SDIV to ASRD 2021-12-14 15:58:28 +00:00
AMDGPU AMDGPU: Combine is.shared/is.private of null/undef 2021-12-15 18:20:49 -05:00
ARM [ARM] Use v2i1 for MVE and CDE intrinsics 2021-12-03 15:27:58 +00:00
Hexagon
NVPTX
PowerPC
RISCV [RISCV] Teach computeKnownBits that vsetvli returns number less than 2^31. 2021-04-29 08:07:59 -07:00
X86 [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08: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 [SimplifyCFG] MergeBlockIntoPredecessor() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
2003-09-09-VolatileLoadElim.ll
2003-10-29-CallSiteResolve.ll
2003-11-03-VarargsCallBug.ll
2004-01-13-InstCombineInvokePHI.ll
2004-02-23-ShiftShiftOverflow.ll
2004-03-13-InstCombineInfLoop.ll
2004-04-04-InstCombineReplaceAllUsesWith.ll
2004-05-07-UnsizedCastLoad.ll
2004-07-27-ConstantExprMul.ll
2004-08-09-RemInfLoop.ll
2004-08-10-BoolSetCC.ll
2004-09-20-BadLoadCombine.ll
2004-09-20-BadLoadCombine2.ll [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
2004-09-28-BadShiftAndSetCC.ll
2004-11-22-Missed-and-fold.ll
2004-11-27-SetCCForCastLargerAndConstant.ll
2004-12-08-RemInfiniteLoop.ll
2005-03-04-ShiftOverflow.ll
2005-04-07-UDivSelectCrash.ll
2005-06-15-DivSelectCrash.ll
2005-06-15-ShiftSetCCCrash.ll
2005-06-16-RangeCrash.ll
2005-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 [InstCombine] Canonicalize range test idiom 2021-11-08 21:15:46 +01:00
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 [InstCombine] Duplicate tests for logical and/or (NFC) 2021-01-12 21:50:41 +01:00
2007-03-19-BadTruncChangePR1261.ll
2007-03-21-SignedRangeTest.ll [InstCombine] Canonicalize range test idiom 2021-11-08 21:15:46 +01:00
2007-03-25-BadShiftMask.ll
2007-03-25-DoubleShift.ll
2007-03-26-BadShiftMask.ll
2007-04-08-SingleEltVectorCrash.ll
2007-05-10-icmp-or.ll [InstCombine] Duplicate tests for logical and/or (NFC) 2021-01-12 21:50:41 +01:00
2007-05-14-Crash.ll
2007-05-18-CastFoldBug.ll OpaquePtr: Bulk update tests to use typed sret 2020-11-20 17:58:26 -05:00
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
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 [InstCombine] Duplicate tests for logical and/or (NFC) 2021-01-12 21:50:41 +01:00
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 [InstCombine] canonicalize "(C2 - Y) > C" as (Y + ~C2) < ~C 2021-10-10 11:06:49 -04:00
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 [InstCombine] Duplicate tests for logical and/or (NFC) 2021-01-12 21:50:41 +01:00
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 [InstCombine] Fully disable select to and/or i1 folding 2021-05-06 09:29:52 +09:00
2008-03-13-IntToPtr.ll
2008-04-22-ByValBitcast.ll OpaquePtr: Bulk update tests to use typed byval 2020-11-20 14:00:46 -05:00
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 [InstCombine] Duplicate tests for logical and/or (NFC) 2021-01-12 21:50:41 +01:00
2008-06-24-StackRestore.ll
2008-07-08-ShiftOneAndOne.ll
2008-07-08-SubAnd.ll
2008-07-08-VolatileLoadMerge.ll
2008-07-09-SubAndError.ll
2008-07-10-CastSextBool.ll
2008-07-11-RemAnd.ll
2008-07-13-DivZero.ll
2008-07-16-fsub.ll
2008-08-05-And.ll [InstCombine] Canonicalize range test idiom 2021-11-08 21:15:46 +01:00
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-12-17-SRemNegConstVec.ll
2009-01-05-i128-crash.ll
2009-01-08-AlignAlloca.ll OpaquePtr: Bulk update tests to use typed byval 2020-11-20 14:00:46 -05:00
2009-01-16-PointerAddrSpace.ll
2009-01-19-fmod-constant-float-specials.ll [SimplifyCFG] MergeBlockIntoPredecessor() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
2009-01-19-fmod-constant-float.ll [SimplifyCFG] MergeBlockIntoPredecessor() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
2009-01-24-EmptyStruct.ll
2009-01-31-InfIterate.ll
2009-02-04-FPBitcast.ll
2009-02-11-NotInitialized.ll
2009-02-20-InstCombine-SROA.ll [NFC][InstCombine] Autogenerate some checklines being affected by upcoming change 2021-03-23 00:51:18 +03: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 Revert "[BuildLibCalls/SimplifyLibCalls] Fix attributes on created CallInst instructions." 2021-06-24 19:24:34 -07:00
2010-11-01-lshr-mask.ll
2010-11-21-SizeZeroTypeGEP.ll
2010-11-23-Distributed.ll [InstCombine] Regenerate 2010-11-23-Distributed.ll tests 2021-04-09 16:40:18 +01:00
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
2011-06-13-nsw-alloca.ll
2011-09-03-Trampoline.ll
2011-10-07-AlignPromotion.ll
2012-01-11-OpaqueBitcastCrash.ll
2012-02-13-FCmp.ll
2012-02-28-ICmp.ll [InstCombine] Duplicate tests for logical and/or (NFC) 2021-01-12 21:50:41 +01:00
2012-03-10-InstCombine.ll [InstCombine] Fully disable select to and/or i1 folding 2021-05-06 09:29:52 +09:00
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
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] Add PR38021 nuw test case. 2021-08-16 12:57:18 +01:00
CPP_min_max.ll [InstCombine] Regenerate test checks (NFC) 2020-12-18 20:55:26 +01:00
ExtractCast.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
IntPtrCast.ll
JavaCompare.ll
LandingPadClauses.ll
OverlappingInsertvalues.ll
PR30597.ll [NFC][InstCombine] Autogenerate some checklines being affected by upcoming change 2021-03-23 00:51:18 +03:00
PR37526.ll
README.txt
abs-1.ll Reland [InstCombine] Fold `((X - Y) - Z)` to `X - (Y + Z)` (PR49858) 2021-04-07 12:06:25 +03:00
abs-intrinsic.ll Fix the default alignment of i1 vectors. 2021-07-31 14:09:59 -07:00
abs_abs.ll [InstCombine] canonicalizeAbsNabs(): don't propagate NSW flag for NABS patter 2020-12-24 00:06:09 +03:00
add-shl-sdiv-to-srem.ll [InstSimplify] Fold out-of-bounds shift to poison 2021-01-06 20:41:37 +01:00
add-sitofp.ll
add.ll [InstCombine] (X | Op01C) + Op1C --> X + (Op01C + Op1C) iff the or is actually an add 2021-04-11 18:08:08 +03:00
add2.ll
add3.ll
add4.ll
addnegneg.ll
addrspacecast.ll [InstCombine] Regenerate test checks (NFC) 2021-03-10 20:27:10 +01:00
addsub-constant-folding.ll [InstCombine] combine constants by reassociating add/sub/add 2021-08-21 11:45:43 -04:00
adjust-for-minmax.ll
aggregate-reconstruction.ll
alias-recursion.ll
align-2d-gep.ll
align-addr.ll Reland "[Libcalls, Attrs] Annotate libcalls with noundef" 2021-02-20 06:18:48 +01:00
align-attr.ll
align-external.ll
all-bits-shift.ll
alloc-realloc-free.ll Teach InstCombine to eliminate malloc-realloc-free triplets. 2021-09-21 18:07:49 +00:00
alloca-big.ll
alloca-cast-debuginfo.ll
alloca-in-non-alloca-as.ll [InstCombine] Gracefully handle an alloca outside the alloca-AS 2021-06-29 09:38:13 -05:00
alloca.ll Reapply "OpaquePtr: Turn inalloca into a type attribute" 2021-03-29 08:55:30 -04:00
allocsize-32.ll
allocsize.ll
and-compare.ll [InstCombine] use decomposeBitTestICmp to make icmp (trunc X), C more consistent 2021-11-28 09:59:37 -05:00
and-fcmp.ll [InstCombine] Fully disable select to and/or i1 folding 2021-05-06 09:29:52 +09:00
and-narrow.ll [InstCombine] move/add tests for trunc-of-lshr; NFC 2021-09-21 12:11:25 -04:00
and-or-and.ll
and-or-icmp-min-max.ll [InstCombine] Fully disable select to and/or i1 folding 2021-05-06 09:29:52 +09:00
and-or-icmp-nullptr.ll [InstCombine] Fully disable select to and/or i1 folding 2021-05-06 09:29:52 +09:00
and-or-icmps.ll [InstCombine] Fold (A^B)|~A-->~(A&B) 2021-11-15 12:29:37 -05:00
and-or-not.ll
and-or.ll [InstCombine] allow vector splat matching for bitwise logic fold 2021-11-01 11:39:48 -04:00
and-xor-merge.ll
and-xor-or.ll [InstCombine] (~a & b & c) | ~(a | b) -> (c | ~b) & ~a 2021-12-15 09:36:59 -08:00
and.ll [InstCombine] fold mask-with-signbit-splat to icmp+select 2021-12-14 16:00:42 -05:00
and2.ll [InstCombine] Support splat vectors in some and of icmp folds 2021-11-10 22:37:54 +01:00
annotation-intrinsic.ll [IR] Mark assume/annotation as InaccessibleMemOnly 2021-03-22 22:01:03 +01:00
annotations.ll [InstCombine] Preserve !annotation on newly created instructions. 2020-12-17 15:20:23 +00:00
apint-add.ll
apint-and-compare.ll
apint-and-or-and.ll
apint-and-xor-merge.ll
apint-and.ll
apint-call-cast-target.ll [NFC][InstCombine] Autogenerate some checklines being affected by upcoming change 2021-03-23 00:51:18 +03:00
apint-cast-and-cast.ll
apint-cast-cast-to-and.ll
apint-cast.ll
apint-div1.ll
apint-div2.ll
apint-mul1.ll
apint-mul2.ll
apint-not.ll
apint-or.ll
apint-rem1.ll
apint-rem2.ll
apint-select.ll
apint-shift-simplify.ll
apint-shift.ll Reapply [ConstantFold] Fold more operations to poison 2021-05-13 16:04:12 +02:00
apint-shl-trunc.ll
apint-sub.ll
apint-xor1.ll
apint-xor2.ll
ashr-lshr.ll [InstCombine] canonicalize sign-bit-shift of difference to ext(icmp) 2020-12-01 09:58:11 -05:00
ashr-or-mul-abs.ll [InstCombine] Transform abs pattern using multiplication to abs intrinsic (PR45691) 2021-01-17 17:06:14 +01:00
assoc-cast-assoc.ll
assume-align.ll Make various assume bundle data structures use uint64_t 2021-10-13 10:38:41 -07:00
assume-icmp-null-select.ll [InstCombine] Fold icmp (select c,const,arg), null if icmp arg, null can be simplified 2021-06-21 17:39:05 +09:00
assume-inseltpoison.ll Remove functions from *-inseltpoison.ll tests if unnecessary 2020-12-30 23:50:37 +09:00
assume-loop-align.ll
assume-redundant.ll
assume.ll [InstCombine] Fully disable select to and/or i1 folding 2021-05-06 09:29:52 +09:00
assume2.ll
assume_inevitable.ll
atomic.ll Reland [IR] Increase max alignment to 4GB 2021-10-06 13:29:23 -07:00
atomicrmw.ll
badmalloc.ll
bcmp-1.ll
bcopy.ll
binop-cast.ll [InstCombine] move/add tests for binops with sext operand; NFC 2021-11-22 14:43:57 -05:00
binop-select.ll [NFC] Added testcases for new binop with select transformation 2021-09-04 20:15:50 +02:00
bit-checks.ll [InstCombine] allow matching vector splat constants in foldLogOpOfMaskedICmps() 2021-10-13 10:15:26 -04:00
bitcast-bigendian.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
bitcast-bitcast.ll
bitcast-function.ll
bitcast-inselt-bitcast.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
bitcast-inseltpoison.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
bitcast-phi-uselistorder.ll
bitcast-sext-vector.ll
bitcast-store.ll [APFloat] Set size of PPCDoubleDouble to 128 2021-10-09 10:12:10 +08:00
bitcast-vec-canon-inseltpoison.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
bitcast-vec-canon.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
bitcast.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
bitreverse-hang.ll Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
bitreverse-known-bits.ll
bitreverse.ll [InstCombine] InstCombinerImpl::visitOr - enable bitreverse matching 2021-05-15 13:39:09 +01:00
bittest.ll [SimplifyCFG] MergeBlockIntoPredecessor() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
branch.ll
broadcast-inseltpoison.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
broadcast.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
bswap-fold.ll
bswap-inseltpoison.ll Remove functions from *-inseltpoison.ll tests if unnecessary 2020-12-30 23:50:37 +09:00
bswap-known-bits.ll
bswap.ll [InstCombine] fold (trunc (X>>C1)) << C to shift+mask directly 2021-10-01 14:22:44 -04:00
builtin-dynamic-object-size.ll Fold comparison of __builtin_object_size expression with -1 for non-const size 2020-12-22 10:56:31 +01:00
builtin-object-size-custom-dl.ll
builtin-object-size-offset.ll
builtin-object-size-ptr.ll [InstCombine] Use poison constant to represent the result of unreachable instrs 2021-06-21 09:58:44 +09:00
byval.ll
cabs-array.ll [SimplifyLibCalls] propagate tail flags on CallInsts 2021-12-13 11:18:30 -08:00
cabs-discrete.ll [SimplifyLibCalls] propagate tail flags on CallInsts 2021-12-13 11:18:30 -08:00
call-callconv-mismatch.ll Reland "Revert "[InstCombine] when calling conventions are compatible, don't convert the call to undef idiom"" 2021-04-12 14:50:54 -07:00
call-callconv.ll [Analysis] improve function matching for strlen libcall 2021-09-22 13:50:12 -04:00
call-cast-attrs.ll OpaquePtr: Bulk update tests to use typed sret 2020-11-20 17:58:26 -05:00
call-cast-target-inalloca.ll Reapply "OpaquePtr: Turn inalloca into a type attribute" 2021-03-29 08:55:30 -04:00
call-cast-target-preallocated.ll
call-cast-target.ll OpaquePtr: Bulk update tests to use typed byval 2020-11-20 14:00:46 -05:00
call-guard.ll [tests] Stablize tests for possible change in deref semantics 2021-07-14 13:05:43 -07:00
call-intrinsics.ll
call-returned.ll
call.ll
call2.ll
call_nonnull_arg.ll Allow nonnull/align attribute to accept poison 2021-01-20 11:31:23 +09:00
calloc-mismatch.ll [Analysis] improve function signature checking for calloc 2021-06-27 08:19:00 -04:00
callsite_nonnull_args_through_casts.ll
canonicalize-ashr-shl-to-masking.ll Reapply [ConstantFold] Fold more operations to poison 2021-05-13 16:04:12 +02:00
canonicalize-clamp-like-pattern-between-negative-and-positive-thresholds.ll
canonicalize-clamp-like-pattern-between-zero-and-positive-threshold.ll
canonicalize-clamp-with-select-of-constant-threshold-pattern.ll [InstCombine] Duplicate tests for logical and/or (NFC) 2021-01-12 21:50:41 +01:00
canonicalize-constant-low-bit-mask-and-icmp-eq-to-icmp-ule.ll
canonicalize-constant-low-bit-mask-and-icmp-ne-to-icmp-ugt.ll
canonicalize-constant-low-bit-mask-and-icmp-sge-to-icmp-sle.ll
canonicalize-constant-low-bit-mask-and-icmp-sgt-to-icmp-sgt.ll
canonicalize-constant-low-bit-mask-and-icmp-sle-to-icmp-sle.ll
canonicalize-constant-low-bit-mask-and-icmp-slt-to-icmp-sgt.ll
canonicalize-constant-low-bit-mask-and-icmp-uge-to-icmp-ule.ll
canonicalize-constant-low-bit-mask-and-icmp-ugt-to-icmp-ugt.ll
canonicalize-constant-low-bit-mask-and-icmp-ule-to-icmp-ule.ll
canonicalize-constant-low-bit-mask-and-icmp-ult-to-icmp-ugt.ll
canonicalize-lack-of-signed-truncation-check.ll
canonicalize-low-bit-mask-and-icmp-eq-to-icmp-ule.ll
canonicalize-low-bit-mask-and-icmp-ne-to-icmp-ugt.ll
canonicalize-low-bit-mask-v2-and-icmp-eq-to-icmp-ule.ll
canonicalize-low-bit-mask-v2-and-icmp-ne-to-icmp-ugt.ll
canonicalize-low-bit-mask-v3-and-icmp-eq-to-icmp-ule.ll
canonicalize-low-bit-mask-v3-and-icmp-ne-to-icmp-ugt.ll
canonicalize-low-bit-mask-v4-and-icmp-eq-to-icmp-ule.ll
canonicalize-low-bit-mask-v4-and-icmp-ne-to-icmp-ugt.ll
canonicalize-lshr-shl-to-masking.ll Reapply [ConstantFold] Fold more operations to poison 2021-05-13 16:04:12 +02:00
canonicalize-selects-icmp-condition-bittest.ll
canonicalize-shl-lshr-to-masking.ll Reapply [ConstantFold] Fold more operations to poison 2021-05-13 16:04:12 +02:00
canonicalize-signed-truncation-check.ll [InstCombine] Canonicalize range test idiom 2021-11-08 21:15:46 +01:00
canonicalize-vector-extract.ll [Verifier] Fail on overrunning and invalid indices for {insert,extract} vector intrinsics 2021-06-23 10:33:22 +00:00
canonicalize-vector-insert.ll [Verifier] Fail on overrunning and invalid indices for {insert,extract} vector intrinsics 2021-06-23 10:33:22 +00:00
canonicalize_branch.ll
cast-call-combine-prof.ll
cast-call-combine.ll
cast-callee-deopt-bundles.ll
cast-int-fcmp-eq-0.ll
cast-int-icmp-eq-0.ll
cast-mul-select.ll
cast-select.ll
cast-set-preserve-signed-dbg-val.ll
cast-set.ll
cast-unsigned-icmp-eqcmp-0.ll
cast.ll [InstCombine] Update InstCombine to use poison instead of undef for shufflevector's placeholder (1/3) 2021-09-22 23:18:51 +09:00
cast_phi.ll
cast_ptr.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
catchswitch-phi.ll [InstCombine] Don't combine PHI before catchswitch 2021-07-02 12:10:24 -07:00
ceil.ll
clamp-to-minmax.ll [InstCombine] Regenerate test checks (NFC) 2020-12-18 20:55:26 +01:00
cmp-intrinsic.ll
cmp-x-vs-neg-x.ll
commutative-intrinsics.ll
compare-3way.ll
compare-alloca.ll
compare-signs.ll [InstCombine] use decomposeBitTestICmp to make icmp (trunc X), C more consistent 2021-11-28 09:59:37 -05:00
compare-udiv.ll
compare-unescaped.ll
conditional-variable-length-signext-after-high-bit-extract.ll
consecutive-fences.ll
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
constant-fold-libfunc.ll [Local] Treat calls that may not return as being alive. 2021-01-23 16:05:14 +00:00
constant-fold-math.ll
constant-fold-shifts.ll
convergent.ll
copysign.ll
cos-1.ll [SimplifyLibCalls] propagate tail flags on CallInsts 2021-12-13 11:18:30 -08:00
cos-2.ll
cos-sin-intrinsic.ll
crash.ll OpaquePtr: Bulk update tests to use typed byval 2020-11-20 14:00:46 -05:00
ctlz-cttz-bitreverse.ll
ctpop-bswap-bitreverse.ll
ctpop-cttz.ll [InstCombine] Add PR51784 test cases 2021-09-13 08:36:43 +01:00
ctpop.ll [InstCombine] ctpop(X) ^ ctpop(Y) & 1 --> ctpop(X^Y) & 1 (PR50094) 2021-05-04 13:16:18 +02:00
cttz-abs.ll [InstCombine] Canonicalize SPF to abs intrinsic 2020-12-18 21:18:14 +03:00
cttz-negative.ll
cttz.ll [InstCombine] cttz(sext(x)) -> cttz(zext(x)) 2021-05-03 23:59:30 +02:00
dce-iterate.ll
deadcode.ll
debug-line.ll Revert "[BuildLibCalls/SimplifyLibCalls] Fix attributes on created CallInst instructions." 2021-06-24 19:24:34 -07:00
debuginfo-dce.ll
debuginfo-dce2.ll
debuginfo-scalable-typesize.ll [InstCombine][DebugInfo] Remove superflous assertion, add test [2/2] 2021-10-18 13:48:23 +00:00
debuginfo-sink.ll Partial Reapply "[DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands" 2021-06-24 09:46:38 +01:00
debuginfo-skip.ll
debuginfo-variables.ll
debuginfo.ll
debuginfo_add.ll [InstCombine] Avoid redundant or out-of-order debug value sinking 2021-02-26 13:04:33 +00:00
default-alignment.ll
demand_shrink_nsw.ll
demorgan-sink-not-into-xor.ll
demorgan.ll [InstCombine] Fully disable select to and/or i1 folding 2021-05-06 09:29:52 +09:00
deref-alloc-fns.ll [InstCombine] Fixed crash when setting align attr for memalign 2021-04-23 14:04:08 +02:00
disable-builtin.ll
disable-simplify-libcalls.ll
distribute.ll
div-by-0-guard-before-smul_ov-not.ll [InstCombine] Fully disable select to and/or i1 folding 2021-05-06 09:29:52 +09:00
div-by-0-guard-before-smul_ov.ll [InstCombine] Fully disable select to and/or i1 folding 2021-05-06 09:29:52 +09:00
div-by-0-guard-before-umul_ov-not.ll [InstCombine] Fully disable select to and/or i1 folding 2021-05-06 09:29:52 +09:00
div-by-0-guard-before-umul_ov.ll [InstCombine] Fully disable select to and/or i1 folding 2021-05-06 09:29:52 +09:00
div-shift-crash.ll Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
div-shift.ll
div.ll [InstCombine] try to fold div with constant dividend and select-of-constants divisor 2021-12-08 10:27:50 -05:00
do-not-clone-dbg-declare.ll
dont-distribute-phi.ll [InstCombine] Fully disable select to and/or i1 folding 2021-05-06 09:29:52 +09:00
double-float-shrink-1.ll
double-float-shrink-2.ll
early_constfold_changes_IR.ll
early_dce_clobbers_callgraph.ll
element-atomic-memintrins.ll
enforce-known-alignment.ll
eq-of-parts.ll [InstCombine] Perform "eq of parts" fold with logical ops 2021-08-22 16:55:53 +02:00
erase-dbg-values-at-dead-alloc-site.ll
err-rep-cold.ll
exact.ll [InstCombine] Prefer `-(x & 1)` as the low bit splatting pattern (PR51305) 2021-08-07 17:25:28 +03:00
exp2-1.ll Revert "[BuildLibCalls/SimplifyLibCalls] Fix attributes on created CallInst instructions." 2021-06-24 19:24:34 -07:00
exp2-2.ll
extractelement-inseltpoison.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
extractelement.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
extractinsert-tbaa.ll
extractvalue.ll
fabs-copysign.ll
fabs-libcall.ll [SimplifyLibCalls] propagate tail flags on CallInsts 2021-12-13 11:18:30 -08:00
fabs.ll [SimplifyLibCalls] propagate tail flags on CallInsts 2021-12-13 11:18:30 -08:00
fadd-fsub-factor.ll
fadd.ll [InstCombine] fold reassociative FP add into start value of fadd reduction 2021-07-18 06:26:20 -04:00
fast-math.ll
fcmp-select.ll
fcmp-special.ll
fcmp.ll [InstCombine] fold fcmp-of-copysign idiom 2021-02-17 10:32:33 -05:00
fdiv-cos-sin.ll Revert "[BuildLibCalls/SimplifyLibCalls] Fix attributes on created CallInst instructions." 2021-06-24 19:24:34 -07:00
fdiv-sin-cos.ll Revert "[BuildLibCalls/SimplifyLibCalls] Fix attributes on created CallInst instructions." 2021-06-24 19:24:34 -07:00
fdiv.ll [IR] Let ConstantVector::getSplat use poison instead of undef 2021-08-10 08:27:43 +01:00
ffs-1.ll
float-shrink-compare.ll Revert "[BuildLibCalls/SimplifyLibCalls] Fix attributes on created CallInst instructions." 2021-06-24 19:24:34 -07:00
fls.ll
fma.ll
fmul-exp.ll [InstCombine] Relax constraints of uses for exp(X) * exp(Y) -> exp(X + Y) 2021-06-01 08:33:23 -04:00
fmul-exp2.ll [InstCombine] Relax constraints of uses for exp(X) * exp(Y) -> exp(X + Y) 2021-06-01 08:33:23 -04:00
fmul-inseltpoison.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
fmul-pow.ll [InstCombine] Missed optimization for pow(x, y) * pow(x, z) with fast-math 2021-06-07 08:08:05 -04:00
fmul-sqrt.ll
fmul.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
fneg-fabs.ll [NFC][Instcombine] Pre-commit some tests for negative fabs 2021-10-26 10:23:39 -07:00
fneg.ll [InstCombine] fix propagation of FMF through select-of-fnegs 2021-08-31 09:52:17 -04:00
fold-bin-operand.ll [InstCombine] Duplicate tests for logical and/or (NFC) 2021-01-12 21:50:41 +01:00
fold-calls.ll
fold-fops-into-selects.ll
fold-inc-of-add-of-not-x-and-y-to-sub-x-from-y.ll
fold-phi-load-metadata.ll [MemCpyOpt] Correctly merge alias scopes during call slot optimization 2020-12-03 09:23:37 -08:00
fold-phi.ll
fold-sqrt-sqrtf.ll
fold-sub-of-not-to-inc-of-add.ll
fold-vector-select.ll
fold-vector-zero-inseltpoison.ll Precommit transform tests that have poison as insertelement's placeholder 2020-12-24 11:46:17 +09:00
fold-vector-zero.ll
force-opaque-ptr.ll [OpaquePtr] Forbid mixing typed and opaque pointers 2021-09-10 15:18:23 +02:00
fortify-folding.ll [SimplifyLibCalls] propagate tail flags on CallInsts 2021-12-13 11:18:30 -08:00
fp-ret-bitcast.ll
fpcast.ll
fpextend.ll
fpextend_x86.ll
fprintf-1.ll Revert "[BuildLibCalls/SimplifyLibCalls] Fix attributes on created CallInst instructions." 2021-06-24 19:24:34 -07:00
fptrunc.ll
fputs-1.ll Revert "[BuildLibCalls/SimplifyLibCalls] Fix attributes on created CallInst instructions." 2021-06-24 19:24:34 -07:00
fputs-opt-size.ll Revert "[BuildLibCalls/SimplifyLibCalls] Fix attributes on created CallInst instructions." 2021-06-24 19:24:34 -07:00
freeze-phi.ll
freeze.ll Add FMF to hasPoisonGeneratingFlags/dropPoisonGeneratingFlags 2021-12-14 08:43:00 -08:00
fsh.ll
fsub.ll
funnel.ll [InstCombine] restrict funnel shift match to avoid miscompile 2021-05-18 13:32:07 -04:00
fwrite-1.ll Revert "[BuildLibCalls/SimplifyLibCalls] Fix attributes on created CallInst instructions." 2021-06-24 19:24:34 -07:00
gc.relocate.ll
gep-addrspace.ll
gep-alias.ll
gep-can-replace-gep-idx-with-zero-typesize.ll [SVE] Remove checks for warnings in scalable-vector tests. 2021-04-07 15:59:32 +01:00
gep-combine-loop-invariant.ll Revert rG1c9bec727ab5c53fa060560dc8d346a911142170 : [InstCombine] Fold (gep (oneuse(gep Ptr, Idx0)), Idx1) -> (gep Ptr, (add Idx0, Idx1)) (PR51069) 2021-08-23 21:09:26 +01:00
gep-custom-dl.ll Revert rG1c9bec727ab5c53fa060560dc8d346a911142170 : [InstCombine] Fold (gep (oneuse(gep Ptr, Idx0)), Idx1) -> (gep Ptr, (add Idx0, Idx1)) (PR51069) 2021-08-23 21:09:26 +01:00
gep-inbounds-null.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
gep-sext.ll
gep-vector-indices.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
gep-vector.ll
gepgep.ll
gepphigep.ll [InstCombine] Regenerate test checks (NFC) 2021-03-10 20:27:10 +01:00
get-lowbitmask-upto-and-including-bit.ll [InstCombine] Improve "get low bit mask upto and including bit X" pattern 2021-04-11 18:08:08 +03:00
getelementptr-folding.ll
getelementptr.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
high-bit-signmask-with-trunc.ll
high-bit-signmask.ll
hoist-negation-out-of-bias-calculation-with-constant.ll
hoist-negation-out-of-bias-calculation.ll
hoist-not-from-ashr-operand.ll [InstCombine] Host inversion out of ashr's value operand (PR48995) 2021-02-02 17:56:43 +03:00
hoist-xor-by-constant-from-xor-by-value.ll [InstCombine] 'hoist xor-by-constant from xor-by-value': completely give up on constant exprs 2020-12-29 16:28:18 +03:00
hoist_instr.ll
icmp-add.ll [InstCombine] Canonicalize range test idiom 2021-11-08 21:15:46 +01:00
icmp-bc-vec-inseltpoison.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
icmp-bc-vec.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
icmp-bitcast-glob.ll
icmp-constant-phi.ll
icmp-custom-dl.ll [InstSimplify] Remove incorrect icmp of gep fold (PR52429) 2021-11-06 21:03:21 +01:00
icmp-div-constant.ll [InstSimplify] Fold division by zero to poison 2021-01-03 20:52:45 +01:00
icmp-dom.ll [InstCombine] avoid infinite loops with select/icmp transforms 2021-05-04 11:54:06 -04:00
icmp-fsh.ll [InstCombine] fold (rotate X) eq/ne (0/-1) 2021-09-03 14:51:35 -04:00
icmp-gep.ll [InstCombine] add tests for icmp of gep; NFC 2021-10-01 10:53:23 -04:00
icmp-logical.ll [InstCombine] allow matching vector splat constants in foldLogOpOfMaskedICmps() 2021-10-13 10:15:26 -04:00
icmp-mul-and.ll [InstCombine] Add tests for D114272 2021-12-08 21:28:15 +01:00
icmp-mul-zext.ll [InstCombine] Improve TryToSinkInstruction with multiple uses 2021-09-21 10:04:04 -04:00
icmp-mul.ll [Support] improve known bits analysis for leading zeros of multiply 2021-12-20 09:10:50 -05:00
icmp-not-bool-constant.ll [InstCombine][InstSimplify] Add baseline tests for icmp bool with not on LHS; NFC 2021-12-08 08:48:03 -05:00
icmp-or.ll [InstCombine] fold signbit check of X | (X -1) 2021-10-11 16:14:13 -04:00
icmp-range.ll
icmp-rotate.ll [InstCombine] ror/rol(X, RotAmt) == C --> X == rol/ror(C, RotAmt) (PR51567) 2021-09-07 18:04:58 +02:00
icmp-shl-nsw.ll
icmp-shl-nuw.ll
icmp-shr-lt-gt.ll
icmp-shr.ll Reapply [InstCombine] Fold multiuse shr eq zero 2021-05-22 14:46:50 +02:00
icmp-sub.ll [InstCombine] Canonicalize range test idiom 2021-11-08 21:15:46 +01:00
icmp-topbitssame.ll [InstCombine] Canonicalize range test idiom 2021-11-08 21:15:46 +01:00
icmp-trunc.ll [InstCombine] use decomposeBitTestICmp to make icmp (trunc X), C more consistent 2021-11-28 09:59:37 -05:00
icmp-uge-of-add-of-shl-one-by-bits-to-allones-and-val-to-icmp-eq-of-lshr-val-by-bits-and-0.ll
icmp-uge-of-not-of-shl-allones-by-bits-and-val-to-icmp-eq-of-lshr-val-by-bits-and-0.ll
icmp-ugt-of-shl-1-by-bits-and-val-to-icmp-eq-of-lshr-val-by-bits-and-0.ll
icmp-ule-of-shl-1-by-bits-and-val-to-icmp-ne-of-lshr-val-by-bits-and-0.ll
icmp-ult-of-add-of-shl-one-by-bits-to-allones-and-val-to-icmp-ne-of-lshr-val-by-bits-and-0.ll
icmp-ult-of-not-of-shl-allones-by-bits-and-val-to-icmp-ne-of-lshr-val-by-bits-and-0.ll
icmp-vec-inseltpoison.ll [InstCombine] Update InstCombine to use poison instead of undef for shufflevector's placeholder (2/3) 2021-09-23 00:14:50 +09:00
icmp-vec.ll [InstCombine] Update InstCombine to use poison instead of undef for shufflevector's placeholder (2/3) 2021-09-23 00:14:50 +09:00
icmp-vscale.ll [IR] Remove unbounded as possible value for vscale_range minimum 2021-12-07 09:52:21 +00:00
icmp-xor-signbit.ll
icmp.ll [InstSimplify] Remove incorrect icmp of gep fold (PR52429) 2021-11-06 21:03:21 +01:00
icmp_sdiv_with_and_without_range.ll Reapply [InstCombine] Fold multiuse shr eq zero 2021-05-22 14:46:50 +02:00
idioms.ll
indexed-gep-compares.ll [InstCombine] add/move tests for icmp with gep operand(s); NFC 2021-09-28 09:40:52 -04:00
infinite-loop-postdom.ll [test] Fixup tests with -analyze in llvm/test/Transforms 2021-09-04 16:45:51 -07:00
inline-intrinsic-assert.ll
inselt-binop-inseltpoison.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
inselt-binop.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
insert-const-shuf.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
insert-ext.ll [InstCombine] move extend after insertelement if both operands are extended 2021-09-15 14:38:03 -04:00
insert-extract-shuffle-inseltpoison.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
insert-extract-shuffle.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
insert-val-extract-elem.ll OpaquePtr: Update more tests to use typed sret 2020-11-20 20:08:43 -05:00
insertelement-bitcast.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
int_sideeffect.ll
intersect-accessgroup.ll
intptr1.ll [NFC][InstCombine] Autogenerate some checklines being affected by upcoming change 2021-03-23 00:51:18 +03:00
intptr2.ll
intptr3.ll [NFC][InstCombine] Autogenerate some checklines being affected by upcoming change 2021-03-23 00:51:18 +03:00
intptr4.ll
intptr5.ll
intptr6.ll
intptr7.ll [NFC][InstCombine] Autogenerate some checklines being affected by upcoming change 2021-03-23 00:51:18 +03:00
intptr8.ll
intrinsic-select.ll [InstCombine] fold ctlz/cttz-of-select with 1 or more constant arms 2021-06-21 11:04:12 -04:00
intrinsics.ll Update @llvm.powi to handle different int sizes for the exponent 2021-06-17 09:38:28 +02:00
invariant.group.ll [InstCombine] Remove invariant group intrinsincs when comparing against null 2021-08-29 15:45:25 -07:00
invariant.ll
invert-variable-mask-in-masked-merge-scalar.ll [InstCombine] Hoist xor-by-constant from xor-by-value 2020-12-24 21:20:50 +03:00
invert-variable-mask-in-masked-merge-vector.ll [InstCombine] Hoist xor-by-constant from xor-by-value 2020-12-24 21:20:50 +03:00
invoke.ll
isascii-1.ll
isdigit-1.ll
ispow2.ll [ValueTracking] ctpop propagates poison 2021-05-02 13:04:37 +09:00
known-bits.ll
known-never-nan.ll
known-non-zero.ll [ValueTracking] Handle more non-trivial conditions in isKnownNonZero() 2020-12-26 15:48:04 +01:00
known-signbit-shift.ll [InstSimplify] Handle nsw shl -> poison patterns 2021-02-23 18:26:56 +00:00
known_align.ll
lifetime-no-null-opt.ll [InstCombine] Regenerate test checks (NFC) 2021-03-10 20:27:10 +01:00
lifetime-sanitizer.ll
lifetime.ll [InstCombine] Regenerate test checks (NFC) 2021-03-10 20:27:10 +01:00
load-bitcast-select.ll
load-bitcast-vec.ll
load-bitcast32.ll
load-bitcast64.ll
load-cmp.ll [InstCombine] Canonicalize range test idiom 2021-11-08 21:15:46 +01:00
load-combine-metadata-2.ll
load-combine-metadata-3.ll
load-combine-metadata-4.ll
load-combine-metadata-dominance.ll
load-combine-metadata.ll
load-no-aliasing.ll Make FindAvailableLoadedValue TBAA aware 2021-03-24 17:20:26 +00:00
load-select.ll
load-store-forward.ll [Loads] Use more powerful constant folding API 2021-10-22 18:33:03 +02:00
load.ll Reland [IR] Increase max alignment to 4GB 2021-10-06 13:29:23 -07:00
load3.ll
load_combine_aa.ll
loadstore-alignment.ll
loadstore-metadata.ll [Tests] Fix incorrect noalias metadata 2021-09-18 20:51:00 +02:00
log-pow-nofastmath.ll
log-pow.ll
logical-select-inseltpoison.ll [InstCombine] fold mask-with-signbit-splat to icmp+select 2021-12-14 16:00:42 -05:00
logical-select.ll [InstCombine] fold mask-with-signbit-splat to icmp+select 2021-12-14 16:00:42 -05:00
low-bit-splat.ll [InstCombine] Prefer `-(x & 1)` as the low bit splatting pattern (PR51305) 2021-08-07 17:25:28 +03:00
lower-dbg-declare.ll
lshr-and-negC-icmpeq-zero.ll [ValueTracking] improve analysis for "C << X" and "C >> X" 2021-02-09 12:38:06 -05:00
lshr-and-signbit-icmpeq-zero.ll
lshr-phi.ll
lshr-trunc-sext-to-ashr-sext.ll [InstCombine] add/adjust test comments; NFC 2021-06-04 09:04:53 -04:00
lshr.ll [InstCombine] Support arbitrary const shift amount for `lshr (sext i1 ...)` 2021-10-15 13:39:13 +03:00
malloc-free-delete-dbginvar.ll
malloc-free.ll [InstCombine] Remove attributes after hoisting free above null check 2021-10-13 15:34:56 -07:00
malloc_free_delete_nvptx.ll [NVPTX] CUDA does provide malloc/free since compute capability 2.X 2021-03-15 22:45:56 -05:00
masked-merge-add.ll
masked-merge-and-of-ors.ll
masked-merge-or.ll
masked-merge-xor.ll
masked_intrinsics-inseltpoison.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
masked_intrinsics.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
masked_intrinsics_keep_metadata.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
max-of-nots.ll [InstCombine] Canonicalize SPF to abs intrinsic 2020-12-18 21:18:14 +03:00
max_known_bits.ll
maximum.ll [InstCombine] convert FP min/max with negated op to fabs 2021-06-23 10:41:39 -04:00
maxnum.ll [InstCombine] convert FP min/max with negated op to fabs 2021-06-23 10:41:39 -04:00
mem-deref-bytes-addrspaces.ll Reland "[Libcalls, Attrs] Annotate libcalls with noundef" 2021-02-20 06:18:48 +01:00
mem-deref-bytes.ll Reland "[Libcalls, Attrs] Annotate libcalls with noundef" 2021-02-20 06:18:48 +01:00
mem-gep-zidx.ll
mem-par-metadata-memcpy.ll Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
memccpy.ll [SimplifyLibCalls] propagate tail flags on CallInsts 2021-12-13 11:18:30 -08:00
memchr.ll [SimplifyLibCalls] Fix memchr opt to use CreateLogicalAnd 2021-06-26 05:59:35 +09:00
memcmp-1.ll Revert "[BuildLibCalls/SimplifyLibCalls] Fix attributes on created CallInst instructions." 2021-06-24 19:24:34 -07:00
memcmp-2.ll
memcmp-constant-fold.ll Reland "[Libcalls, Attrs] Annotate libcalls with noundef" 2021-02-20 06:18:48 +01:00
memcpy-1.ll [SimplifyLibCalls] propagate tail flags on CallInsts 2021-12-13 11:18:30 -08:00
memcpy-2.ll
memcpy-addrspace.ll
memcpy-from-global.ll Fixing an infinite loop problem in InstCombine 2021-07-29 12:57:17 -07:00
memcpy-to-load.ll Reland "[Libcalls, Attrs] Annotate libcalls with noundef" 2021-02-20 06:18:48 +01:00
memcpy.ll Reland "[Libcalls, Attrs] Annotate libcalls with noundef" 2021-02-20 06:18:48 +01:00
memcpy_chk-1.ll [SimplifyLibCalls] propagate tail flags on CallInsts 2021-12-13 11:18:30 -08:00
memcpy_chk-2.ll
memmove-1.ll [SimplifyLibCalls] propagate tail flags on CallInsts 2021-12-13 11:18:30 -08:00
memmove-2.ll
memmove.ll
memmove_chk-1.ll [SimplifyLibCalls] propagate tail flags on CallInsts 2021-12-13 11:18:30 -08:00
memmove_chk-2.ll
mempcpy.ll [SimplifyLibCalls] propagate tail flags on CallInsts 2021-12-13 11:18:30 -08:00
memrchr.ll
memset-1.ll [SimplifyLibCalls] propagate tail flags on CallInsts 2021-12-13 11:18:30 -08:00
memset-2.ll
memset.ll
memset2.ll
memset_chk-1.ll [SimplifyLibCalls] propagate tail flags on CallInsts 2021-12-13 11:18:30 -08:00
memset_chk-2.ll
merge-icmp.ll [InstCombine] Support splat vectors in some and of icmp folds 2021-11-10 22:37:54 +01:00
merging-multiple-stores-into-successor.ll
min-positive.ll
minimum.ll [InstCombine] convert FP min/max with negated op to fabs 2021-06-23 10:41:39 -04:00
minmax-demandbits.ll
minmax-fold.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
minmax-fp.ll [InstCombine] Regenerate test checks (NFC) 2020-12-18 20:55:26 +01:00
minmax-intrinsics.ll [InstCombine] add/move tests for sub-of-umax; NFC 2021-11-09 10:50:11 -05:00
minmax-of-minmax.ll
minnum.ll [InstCombine] convert FP min/max with negated op to fabs 2021-06-23 10:41:39 -04:00
misc-2002.ll
mul-inseltpoison.ll [InstCombine] generalize fold for mask-with-signbit-splat 2021-10-15 16:25:48 -04:00
mul-masked-bits.ll
mul.ll [InstCombine] generalize fold for mask-with-signbit-splat 2021-10-15 16:25:48 -04:00
multi-size-address-space-pointer.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
multi-use-load-casts.ll
multi-use-or.ll
multiple-uses-load-bitcast-select.ll
musttail-thunk.ll
narrow-math.ll
narrow-switch.ll [Support] improve known bits analysis for leading zeros of multiply 2021-12-20 09:10:50 -05:00
narrow.ll
new-delete-itanium.ll [TargetLibraryInfo] Pick new/delete calls by target 2021-09-28 10:10:25 -07:00
new-delete-msvc.ll [TargetLibraryInfo] Pick new/delete calls by target 2021-09-28 10:10:25 -07:00
no-negzero.ll
no-unwind-inline-asm.ll Support unwinding from inline assembly 2021-05-13 19:13:03 +01:00
no_cgscc_assert.ll
no_sink_instruction.ll
noalias-scope-decl.ll [Tests] Fix noalias metadata in one more test 2021-09-18 21:17:05 +02:00
non-integral-pointers.ll
nonnull-attribute.ll
nonnull-select.ll [InstCombine] Add more tests to nonnull-select.ll (NFC) 2021-02-20 16:59:52 +09:00
not-add.ll [InstCombine] isFreeToInvert(): constant expressions aren't free to invert (PR50370) 2021-05-17 14:58:05 +03:00
not.ll [InstCombine] add folds for logical nand/nor 2021-10-05 18:31:20 -04:00
nothrow.ll [Local] Treat calls that may not return as being alive. 2021-01-23 16:05:14 +00:00
nsw-inseltpoison.ll Precommit tests that have poison as shufflevector's placeholder 2020-12-29 17:09:31 +09:00
nsw.ll
obfuscated_splat-inseltpoison.ll [InstCombine] Update InstCombine to use poison instead of undef for shufflevector's placeholder (3/3) 2021-09-23 00:48:24 +09:00
obfuscated_splat.ll [InstCombine] Update InstCombine to use poison instead of undef for shufflevector's placeholder (3/3) 2021-09-23 00:48:24 +09:00
object-size-opaque.ll OpaquePtr: Bulk update tests to use typed sret 2020-11-20 17:58:26 -05:00
objsize-64.ll
objsize-address-space.ll
objsize-noverify.ll [InstCombine] Duplicate tests for logical and/or (NFC) 2021-01-12 21:50:41 +01:00
objsize.ll [SimplifyLibCalls] propagate tail flags on CallInsts 2021-12-13 11:18:30 -08:00
odr-linkage.ll
omit-urem-of-power-of-two-or-zero-when-comparing-with-zero.ll
onehot_merge.ll [InstCombine] allow matching vector splat constants in foldLogOpOfMaskedICmps() 2021-10-13 10:15:26 -04:00
opaque-ptr.ll [OpaquePtr] Forbid mixing typed and opaque pointers 2021-09-10 15:18:23 +02:00
opaque.ll
operand-complexity.ll
or-concat.ll
or-fcmp.ll [InstCombine] Fully disable select to and/or i1 folding 2021-05-06 09:29:52 +09:00
or-shifted-masks.ll [InstCombine] add tests for disguised mul ops; NFC 2021-02-11 13:39:52 -05:00
or-xor.ll [InstCombine] Fold (A^B)|~A-->~(A&B) 2021-11-15 12:29:37 -05:00
or.ll [InstCombine] try to fold 'or' into 'mul' operand 2021-11-29 17:03:08 -05:00
oss_fuzz_32759.ll [InstCombine] Fix out-of-bounds ashr(shl) optimization 2021-04-02 13:45:11 +02:00
osx-names.ll
out-of-bounds-indexes.ll [InstSimplify] Fold out-of-bounds shift to poison 2021-01-06 20:41:37 +01:00
overflow-mul.ll
overflow.ll [InstCombine] Canonicalize range test idiom 2021-11-08 21:15:46 +01:00
overflow_to_sat.ll
partally-redundant-left-shift-input-masking-after-truncation-variant-a.ll Reapply [ConstantFold] Fold more operations to poison 2021-05-13 16:04:12 +02:00
partally-redundant-left-shift-input-masking-after-truncation-variant-b.ll Reapply [ConstantFold] Fold more operations to poison 2021-05-13 16:04:12 +02:00
partally-redundant-left-shift-input-masking-after-truncation-variant-c.ll Reapply [ConstantFold] Fold more operations to poison 2021-05-13 16:04:12 +02:00
partally-redundant-left-shift-input-masking-after-truncation-variant-d.ll [InstSimplify] (-1 << x) s>> x --> -1 2021-09-29 13:03:12 -04:00
partally-redundant-left-shift-input-masking-after-truncation-variant-e.ll Reapply [ConstantFold] Fold more operations to poison 2021-05-13 16:04:12 +02:00
partally-redundant-left-shift-input-masking-variant-a.ll Reapply [ConstantFold] Fold more operations to poison 2021-05-13 16:04:12 +02:00
partally-redundant-left-shift-input-masking-variant-b.ll Reapply [ConstantFold] Fold more operations to poison 2021-05-13 16:04:12 +02:00
partally-redundant-left-shift-input-masking-variant-c.ll Reapply [ConstantFold] Fold more operations to poison 2021-05-13 16:04:12 +02:00
partally-redundant-left-shift-input-masking-variant-d.ll Reapply [ConstantFold] Fold more operations to poison 2021-05-13 16:04:12 +02:00
partally-redundant-left-shift-input-masking-variant-e.ll Reapply [ConstantFold] Fold more operations to poison 2021-05-13 16:04:12 +02:00
phi-aware-aggregate-reconstruction.ll
phi-cse.ll
phi-equal-incoming-pointers.ll
phi-int2ptr-fold.ll [InstCombine] Fold phi ( inttoptr/ptrtoint x ) to phi (x) 2021-08-03 17:52:59 +05:30
phi-known-bits-operand-order.ll
phi-load-metadata-2.ll
phi-load-metadata-3.ll
phi-load-metadata-dominance.ll
phi-load-metadata.ll
phi-merge-gep.ll
phi-of-extractvalues.ll
phi-of-insertvalues.ll
phi-pointercasts.ll [InstCombine] Simplify phis with incoming pointer-casts. 2021-03-09 11:40:18 +00:00
phi-preserve-ir-flags.ll
phi-select-constant.ll [InstCombine] avoid crash sinking to unreachable block 2020-12-10 13:10:26 -05:00
phi-shifts.ll [InstSimplify] Fold out-of-bounds shift to poison 2021-01-06 20:41:37 +01:00
phi-timeout.ll
phi.ll
pow-0.ll
pow-1.ll [SimplifyLibCalls] propagate tail flags on CallInsts 2021-12-13 11:18:30 -08:00
pow-2.ll
pow-3.ll
pow-4.ll Update @llvm.powi to handle different int sizes for the exponent 2021-06-17 09:38:28 +02:00
pow-cbrt.ll
pow-exp-nofastmath.ll
pow-exp.ll [SimplifyLibCalls] propagate tail flags on CallInsts 2021-12-13 11:18:30 -08:00
pow-sqrt.ll
pow_fp_int.ll [SimplifyLibCalls] propagate tail flags on CallInsts 2021-12-13 11:18:30 -08:00
pow_fp_int16.ll [SimplifyLibCalls] propagate tail flags on CallInsts 2021-12-13 11:18:30 -08:00
powi.ll [InstCombine] powi(x, y) * powi(x, z) -> powi(x, y + z) 2021-09-21 18:20:46 +02:00
pr2645-0-inseltpoison.ll Precommit tests that have poison as shufflevector's placeholder 2020-12-29 17:09:31 +09:00
pr2645-0.ll [InstCombine] use poison as placeholder for undemanded elems 2020-12-28 08:58:15 +09:00
pr2996.ll
pr12251.ll
pr12338.ll
pr14365.ll
pr17827.ll
pr20079.ll
pr20678.ll
pr21199.ll [InstCombine] Regenerate test checks (NFC) 2020-12-18 20:55:26 +01:00
pr21210.ll
pr21651.ll
pr21891.ll
pr23751.ll
pr23809.ll
pr24354.ll
pr24605.ll
pr25342.ll
pr25745.ll
pr26992.ll
pr26993.ll
pr27236.ll
pr27332.ll
pr27343.ll
pr27703.ll
pr27996.ll
pr28143.ll
pr28725.ll
pr30929.ll
pr31990_wrong_memcpy.ll
pr32686.ll
pr33453.ll
pr33689_same_bitwidth.ll
pr34349.ll
pr34627.ll
pr35515.ll
pr36362.ll
pr38677.ll
pr38897.ll
pr38915.ll
pr38984-inseltpoison.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
pr38984.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
pr39177.ll
pr39908.ll
pr41164.ll
pr43081.ll
pr43376-getFlippedStrictnessPredicateAndConstant-assert.ll
pr43893.ll
pr44242.ll
pr44245.ll Reland [IR] Increase max alignment to 4GB 2021-10-06 13:29:23 -07:00
pr44541.ll
pr44552.ll
pr44835.ll
pr46680.ll
pr49688.ll [InstCombine] Conditionally fold select i1 into and/or 2021-04-04 14:11:28 +09:00
pr51824.ll [InstCombine] foldConstantInsEltIntoShuffle - bail if we fail to find constant element (PR51824) 2021-09-21 13:01:09 +01:00
prefetch-load.ll
preserve-sminmax.ll [InstCombine] Regenerate test checks (NFC) 2020-12-18 20:55:26 +01:00
preserved-analyses.ll
prevent-cmp-merge.ll [InstCombine] Fully disable select to and/or i1 folding 2021-05-06 09:29:52 +09:00
printf-1.ll Revert "[BuildLibCalls/SimplifyLibCalls] Fix attributes on created CallInst instructions." 2021-06-24 19:24:34 -07:00
printf-2.ll Revert "[BuildLibCalls/SimplifyLibCalls] Fix attributes on created CallInst instructions." 2021-06-24 19:24:34 -07:00
printf-3.ll Revert "[BuildLibCalls/SimplifyLibCalls] Fix attributes on created CallInst instructions." 2021-06-24 19:24:34 -07:00
ptr-int-cast.ll [InstCombine] Remove scalable vector restriction in InstCombineCasts 2020-12-17 22:02:33 +08:00
ptr-int-ptr-icmp.ll [InstCombine] Fold IntToPtr/PtrToInt to bitcast 2021-07-18 23:13:25 +02:00
ptrtoint-nullgep.ll [InstCombine] Fold ptrtoint(gep i8 null, x) -> x 2021-09-28 17:57:37 +01:00
pull-binop-through-shift.ll
pull-conditional-binop-through-shift.ll
puts-1.ll Revert "[BuildLibCalls/SimplifyLibCalls] Fix attributes on created CallInst instructions." 2021-06-24 19:24:34 -07:00
range-check.ll [InstCombine] Fully disable select to and/or i1 folding 2021-05-06 09:29:52 +09:00
readnone-maythrow.ll
realloc-free.ll Teach InstCombine to eliminate malloc-realloc-free triplets. 2021-09-21 18:07:49 +00:00
realloc.ll Revert "[BuildLibCalls/SimplifyLibCalls] Fix attributes on created CallInst instructions." 2021-06-24 19:24:34 -07:00
reassociate-nuw.ll [InstCombine] generalize subtract with 'not' operands; 2nd try 2021-08-23 17:06:51 -04:00
recurrence.ll [instcombine] Collapse trivial or recurrences 2021-03-08 09:21:38 -08:00
reduction-add-sext-zext-i1.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
reduction-and-sext-zext-i1.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
reduction-mul-sext-zext-i1.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
reduction-or-sext-zext-i1.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
reduction-shufflevector.ll [InstCombine] Update InstCombine to use poison instead of undef for shufflevector's placeholder (3/3) 2021-09-23 00:48:24 +09:00
reduction-smax-sext-zext-i1.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
reduction-smin-sext-zext-i1.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
reduction-umax-sext-zext-i1.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
reduction-umin-sext-zext-i1.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
reduction-xor-sext-zext-i1.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
redundant-left-shift-input-masking-after-truncation-variant-a.ll
redundant-left-shift-input-masking-after-truncation-variant-b.ll
redundant-left-shift-input-masking-after-truncation-variant-c.ll
redundant-left-shift-input-masking-after-truncation-variant-d.ll
redundant-left-shift-input-masking-after-truncation-variant-e.ll
redundant-left-shift-input-masking-after-truncation-variant-f.ll
redundant-left-shift-input-masking-pr49778.ll [InstCombine] dropRedundantMaskingOfLeftShiftInput(): check that adding shift amounts doesn't overflow (PR49778) 2021-04-04 23:26:41 +03:00
redundant-left-shift-input-masking-variant-a.ll
redundant-left-shift-input-masking-variant-b.ll
redundant-left-shift-input-masking-variant-c.ll
redundant-left-shift-input-masking-variant-d.ll
redundant-left-shift-input-masking-variant-e.ll
redundant-left-shift-input-masking-variant-f.ll
redundant-right-shift-input-masking.ll
rem.ll [InstCombine] try to fold rem with constant dividend and select-of-constants divisor 2021-12-07 15:48:45 -05:00
result-of-add-of-negative-is-non-zero-and-no-underflow.ll [InstCombine] Duplicate tests for logical and/or (NFC) 2021-01-12 21:50:41 +01:00
result-of-add-of-negative-or-zero-is-non-zero-and-no-underflow.ll [InstCombine] Duplicate tests for logical and/or (NFC) 2021-01-12 21:50:41 +01:00
result-of-usub-is-non-zero-and-no-overflow.ll [InstCombine] Duplicate tests for logical and/or (NFC) 2021-01-12 21:50:41 +01:00
reuse-constant-from-select-in-icmp.ll [InstCombine] prevent infinite looping from opposing cmp and select transforms (PR52684) 2021-12-14 11:18:36 -05:00
rotate.ll [InstCombine] restrict funnel shift match to avoid miscompile 2021-05-18 13:32:07 -04:00
sadd-with-overflow.ll
sadd_sat.ll [InstCombine] Generalize sadd.sat combine to compute sign bits. 2021-11-05 15:05:09 +00:00
saddo.ll [instcombine] Fold overflow check using overflow intrinsic to comparison 2021-07-01 09:41:55 -07:00
salvage-dbg-declare.ll
saturating-add-sub.ll [InstCombine] X - usub.sat(X, Y) => umin(X, Y) 2021-04-23 21:13:07 +02:00
scalable-bitcast-inseltpoison.ll [InstCombine]Generalise regression tests for sve 2021-03-26 12:04:50 +00:00
scalable-bitcast.ll [InstCombine]Generalise regression tests for sve 2021-03-26 12:04:50 +00:00
scalable-cast-of-alloc.ll [SVE] Remove checks for warnings in scalable-vector tests. 2021-04-07 15:59:32 +01:00
scalable-const-fp-splat.ll [SVE] Remove checks for warnings in scalable-vector tests. 2021-04-07 15:59:32 +01:00
scalable-select.ll [Constant] Allow ConstantAggregateZero a scalable element count 2021-05-10 13:51:53 +01:00
scalable-trunc.ll [SVE] Remove checks for warnings in scalable-vector tests. 2021-04-07 15:59:32 +01:00
scalarization-inseltpoison.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
scalarization.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
sdiv-1.ll
sdiv-2.ll
sdiv-canonicalize.ll
sdiv-exact-by-negative-power-of-two.ll [InstSimplify] Fold division by zero to poison 2021-01-03 20:52:45 +01:00
sdiv-exact-by-power-of-two.ll [InstSimplify] Fold division by zero to poison 2021-01-03 20:52:45 +01:00
sdiv-guard.ll
sdiv-of-non-negative-by-negative-power-of-two.ll
select-2.ll
select-and-or.ll [InstCombine] avoid infinite loops with select folds of constant expressions 2021-06-20 09:46:25 -04:00
select-binop-cmp.ll [InstSimplify] Add more poison folding optimizations 2021-06-23 20:25:24 +09:00
select-binop-foldable-floating-point.ll [InstCombine] Enable fold select into operand for FAdd, FMul, FSub and FDiv. 2021-11-22 15:10:10 -08:00
select-bitext-bitwise-ops.ll
select-bitext.ll [InstCombine] Fully disable select to and/or i1 folding 2021-05-06 09:29:52 +09:00
select-cmp-br.ll [InstCombine] Fully disable select to and/or i1 folding 2021-05-06 09:29:52 +09:00
select-cmp-cttz-ctlz.ll
select-cmpxchg.ll
select-crash-noverify.ll [InstCombine] Duplicate tests for logical and/or (NFC) 2021-01-12 21:50:41 +01:00
select-crash.ll
select-ctlz-to-cttz.ll [InstCombine] Regenerate select-ctlz-to-cttz.ll tests 2021-04-12 16:05:34 +01:00
select-extractelement-inseltpoison.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
select-extractelement.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
select-gep.ll Don't fold (select C, (gep Ptr, Idx), Ptr) if C is vector but Idx is scalar 2021-09-22 18:11:33 +08:00
select-icmp-and.ll [InstCombine] use decomposeBitTestICmp to make icmp (trunc X), C more consistent 2021-11-28 09:59:37 -05:00
select-imm-canon.ll [InstCombine] avoid infinite loop in demanded bits for select 2021-02-28 10:17:53 -05:00
select-load-call.ll
select-masked_load.ll [InstCombine] Fixed select + masked load fold failure 2021-08-03 19:06:12 +01:00
select-min-max.ll [InstCombine] avoid infinite loops from min/max canonicalization 2021-08-10 14:42:37 -04:00
select-obo-peo-ops.ll
select-of-bittest.ll Reapply [ConstantFold] Fold more operations to poison 2021-05-13 16:04:12 +02:00
select-pr39595.ll
select-safe-bool-transforms.ll [InstCombine] fix miscompile from vector select substitution 2021-05-30 07:11:58 -04:00
select-safe-impliedcond-transforms.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
select-safe-transforms.ll [InstCombine] Fully disable select to and/or i1 folding 2021-05-06 09:29:52 +09:00
select-select.ll
select-with-bitwise-ops.ll [InstCombine] use decomposeBitTestICmp to make icmp (trunc X), C more consistent 2021-11-28 09:59:37 -05:00
select.ll [InstCombine] Transform X == 0 ? 0 : X * Y --> X * freeze(Y) 2021-09-15 09:04:06 -04:00
select_arithmetic.ll
select_meta.ll [InstCombine] canonicalizeAbsNabs(): don't propagate NSW flag for NABS patter 2020-12-24 00:06:09 +03:00
set-lowbits-mask-canonicalize.ll
set.ll [InstCombine] Duplicate tests for logical and/or (NFC) 2021-01-12 21:50:41 +01:00
setcc-strength-reduce.ll
sext-of-trunc-nsw.ll [InstCombine] eliminate sext and/or trunc if value has enough signbits 2021-06-03 13:58:19 -04:00
sext.ll [InstCombine] remove casts from splat-a-bit pattern 2021-09-12 09:18:14 -04:00
shift-add-inseltpoison.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
shift-add.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
shift-amount-reassociation-in-bittest-with-truncation-lshr.ll
shift-amount-reassociation-in-bittest-with-truncation-shl.ll
shift-amount-reassociation-in-bittest.ll
shift-amount-reassociation-with-truncation-ashr.ll
shift-amount-reassociation-with-truncation-lshr.ll
shift-amount-reassociation-with-truncation-shl.ll [InstCombine] add one-use check to shift-shift transform 2021-09-22 16:31:12 -04:00
shift-amount-reassociation.ll
shift-by-signext.ll
shift-direction-in-bit-test.ll
shift-logic.ll
shift-shift.ll [InstCombine] fold (trunc (X>>C1)) << C to shift+mask directly 2021-10-01 14:22:44 -04:00
shift-sra.ll
shift.ll [InstCombine] add/move tests for shl with binop; NFC 2021-09-28 14:46:27 -04:00
shl-and-negC-icmpeq-zero.ll
shl-and-signbit-icmpeq-zero.ll
shl-bo.ll [InstCombine] reduce redundant code for shl-binop folds 2021-09-28 17:06:45 -04:00
shl-demand.ll [InstCombine] add test for shl + demanded bits; NFC 2021-10-03 10:35:59 -04:00
shl-factor.ll
shl-sub.ll [InstCombine] add tests for shl-of-sub; NFC 2021-09-27 14:56:01 -04:00
shl-unsigned-cmp-const.ll
should-change-type.ll
shuffle-cast-dist.ll [InstCombine] Update InstCombine to use poison instead of undef for shufflevector's placeholder (3/3) 2021-09-23 00:48:24 +09:00
shuffle-cast-inseltpoison.ll Precommit tests that have poison as shufflevector's placeholder 2020-12-29 17:09:31 +09:00
shuffle-cast.ll
shuffle-select-narrow-inseltpoison.ll [IR] Let IRBuilder's CreateVectorSplat/CreateShuffleVector use poison as placeholder 2020-12-30 04:21:04 +09:00
shuffle-select-narrow.ll [IR] Let IRBuilder's CreateVectorSplat/CreateShuffleVector use poison as placeholder 2020-12-30 04:21:04 +09:00
shuffle_select-inseltpoison.ll Add FMF to hasPoisonGeneratingFlags/dropPoisonGeneratingFlags 2021-12-14 08:43:00 -08:00
shuffle_select.ll Add FMF to hasPoisonGeneratingFlags/dropPoisonGeneratingFlags 2021-12-14 08:43:00 -08:00
shufflevec-bitcast-inseltpoison.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
shufflevec-bitcast.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
shufflevec-constant-inseltpoison.ll Precommit tests that have poison as shufflevector's placeholder 2020-12-29 17:09:31 +09:00
shufflevec-constant.ll
shufflevector-div-rem-inseltpoison.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
shufflevector-div-rem.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
sign-bit-test-via-right-shifting-all-other-bits.ll
sign-test-and-or.ll [InstCombine] allow matching vector splat constants in foldLogOpOfMaskedICmps() 2021-10-13 10:15:26 -04:00
signbit-lshr-and-icmpeq-zero.ll
signbit-shl-and-icmpeq-zero.ll [ValueTracking] improve analysis for "C << X" and "C >> X" 2021-02-09 12:38:06 -05:00
signed-comparison.ll
signed-mul-lack-of-overflow-check-via-mul-sdiv.ll Reland "[InstCombine] Recognize `((x * y) s/ x) !=/== y` as an signed multiplication overflow check (PR48769)" 2021-09-07 21:03:52 +03:00
signed-mul-overflow-check-via-mul-sdiv.ll Reland "[InstCombine] Recognize `((x * y) s/ x) !=/== y` as an signed multiplication overflow check (PR48769)" 2021-09-07 21:03:52 +03:00
signed-truncation-check.ll [InstCombine] use decomposeBitTestICmp to make icmp (trunc X), C more consistent 2021-11-28 09:59:37 -05:00
signext.ll
signmask-of-sext-vs-of-shl-of-zext.ll [InstCombine] Fold `and(shl(zext(x), width(SIGNMASK) - width(%x)), SIGNMASK)` to `and(sext(%x), SIGNMASK)` 2020-11-20 00:31:27 +03:00
simple_phi_condition.ll
simplify-demanded-bits-pointer.ll
simplify-libcalls-erased.ll
simplify-libcalls.ll [Analysis] improve function matching for strlen libcall 2021-09-22 13:50:12 -04:00
sincospi.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
sink-alloca.ll
sink-into-catchswitch.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
sink-not-into-another-hand-of-and.ll [InstCombine] Fold `(~x) & y` --> `~(x | (~y))` iff it is free to do so 2021-01-22 17:23:54 +03:00
sink-not-into-another-hand-of-or.ll [InstCombine] Fold `(~x) | y` --> `~(x & (~y))` iff it is free to do so 2021-01-22 17:23:54 +03:00
sink_instruction.ll Update with additional tests for sinking calls to uses 2021-12-08 16:00:40 -05:00
sink_sideeffecting_instruction.ll Add test coverage for D109917 and variants 2021-12-22 19:38:40 -08:00
sink_to_unreachable.ll
sitofp.ll
smax-icmp.ll [InstCombine] Regenerate test checks (NFC) 2020-12-18 20:55:26 +01:00
smin-icmp.ll [InstCombine] Regenerate test checks (NFC) 2020-12-18 20:55:26 +01:00
smulo.ll [InstCombine] Canonicalize range test idiom 2021-11-08 21:15:46 +01:00
snprintf.ll [SimplifyLibCalls] propagate tail flags on CallInsts 2021-12-13 11:18:30 -08:00
sprintf-1.ll Fix whitespace typo in 94b4598 2021-08-16 09:28:06 -07:00
sprintf-void.ll
sqrt-nofast.ll
sqrt.ll Revert "[BuildLibCalls/SimplifyLibCalls] Fix attributes on created CallInst instructions." 2021-06-24 19:24:34 -07:00
srem-canonicalize.ll
srem-simplify-bug.ll
srem-via-sdiv-mul-sub.ll
srem1.ll
ssub-with-overflow.ll
ssubo.ll [instcombine] Fold overflow check using overflow intrinsic to comparison 2021-07-01 09:41:55 -07:00
stack-overalign.ll
stacksave-debuginfo.ll
stacksaverestore.ll [InstCombine] Extend stacksave/restore elimination 2021-11-10 10:41:58 +02:00
statepoint-cleanup.ll [InstCombine] Move statepoint intrinsic handling from visitCall to visitCallBase 2021-03-04 11:00:22 +07:00
statepoint-iter.ll
statepoint.ll [InstCombine] Move statepoint intrinsic handling from visitCall to visitCallBase 2021-03-04 11:00:22 +07:00
stdio-custom-dl.ll
store-load-unaliased-gep.ll
store.ll Reland [IR] Increase max alignment to 4GB 2021-10-06 13:29:23 -07:00
storemerge-dbg.ll
stpcpy-1.ll [SimplifyLibCalls] propagate tail flags on CallInsts 2021-12-13 11:18:30 -08:00
stpcpy-2.ll
stpcpy_chk-1.ll [SimplifyLibCalls] propagate tail flags on CallInsts 2021-12-13 11:18:30 -08:00
stpcpy_chk-2.ll
str-int-2.ll
str-int.ll
strcat-1.ll
strcat-2.ll
strcat-3.ll
strchr-1.ll [SimplifyLibCalls] Fix memchr opt to use CreateLogicalAnd 2021-06-26 05:59:35 +09:00
strchr-2.ll
strcmp-1.ll Revert "[BuildLibCalls/SimplifyLibCalls] Fix attributes on created CallInst instructions." 2021-06-24 19:24:34 -07:00
strcmp-2.ll
strcmp-memcmp.ll [tests] Stablize tests for possible change in deref semantics 2021-07-14 13:05:43 -07:00
strcpy-1.ll [SimplifyLibCalls] propagate tail flags on CallInsts 2021-12-13 11:18:30 -08:00
strcpy-2.ll
strcpy-nonzero-as.ll [NFC] Added test for stpcpy -> strcpy transformation with AS != 0 2021-09-07 14:30:14 +02:00
strcpy_chk-1.ll [SimplifyLibCalls] propagate tail flags on CallInsts 2021-12-13 11:18:30 -08:00
strcpy_chk-2.ll
strcpy_chk-64.ll [InstCombine] Regenerate test checks (NFC) 2021-03-10 20:27:10 +01:00
strcspn-1.ll Revert "[BuildLibCalls/SimplifyLibCalls] Fix attributes on created CallInst instructions." 2021-06-24 19:24:34 -07:00
strcspn-2.ll
strict-sub-underflow-check-to-comparison-of-sub-operands.ll
strlen-1.ll Reland "[Libcalls, Attrs] Annotate libcalls with noundef" 2021-02-20 06:18:48 +01:00
strlen-2.ll Reland "[Libcalls, Attrs] Annotate libcalls with noundef" 2021-02-20 06:18:48 +01:00
strlen-3.ll [ValueTracking] fix isOnlyUsedInZeroEqualityComparison with no users 2021-09-22 15:01:53 -04:00
strlen_chk.ll
strncat-1.ll
strncat-2.ll Revert "[BuildLibCalls/SimplifyLibCalls] Fix attributes on created CallInst instructions." 2021-06-24 19:24:34 -07:00
strncat-3.ll
strncmp-1.ll Reland "[Libcalls, Attrs] Annotate libcalls with noundef" 2021-02-20 06:18:48 +01:00
strncmp-2.ll
strncmp-wrong-datalayout.ll
strncpy-1.ll [SimplifyLibCalls] propagate tail flags on CallInsts 2021-12-13 11:18:30 -08:00
strncpy-2.ll
strncpy-3.ll Reland "[Libcalls, Attrs] Annotate libcalls with noundef" 2021-02-20 06:18:48 +01:00
strncpy_chk-1.ll Revert "[BuildLibCalls/SimplifyLibCalls] Fix attributes on created CallInst instructions." 2021-06-24 19:24:34 -07:00
strncpy_chk-2.ll [SLC] Simplify strcpy and friends with non-zero address spaces 2021-03-10 11:17:34 +00:00
strndup.ll Revert "[BuildLibCalls/SimplifyLibCalls] Fix attributes on created CallInst instructions." 2021-06-24 19:24:34 -07:00
strpbrk-1.ll Reland "[Libcalls, Attrs] Annotate libcalls with noundef" 2021-02-20 06:18:48 +01:00
strpbrk-2.ll
strrchr-1.ll Reland "[Libcalls, Attrs] Annotate libcalls with noundef" 2021-02-20 06:18:48 +01:00
strrchr-2.ll
strspn-1.ll
strstr-1.ll Revert "[BuildLibCalls/SimplifyLibCalls] Fix attributes on created CallInst instructions." 2021-06-24 19:24:34 -07:00
strstr-2.ll
strto-1.ll
struct-assign-tbaa-new.ll
struct-assign-tbaa.ll
sub-and-or-neg-xor.ll
sub-ashr-and-to-icmp-select.ll [InstCombine] generalize fold for mask-with-signbit-splat, part 2 2021-10-15 17:11:29 -04:00
sub-ashr-or-to-icmp-select.ll [InstCombine] Fold lshr/ashr(or(neg(x),x),bw-1) --> zext/sext(icmp_ne(x,0)) (PR50816) 2021-07-13 14:44:54 +01:00
sub-from-sub.ll [InstCombine] foldAddWithConstant(): don't deal with non-immediate constants 2021-04-07 19:50:19 +03:00
sub-gep.ll [InstCombine] try difference-of-shifts factorization before negator 2020-11-24 13:56:30 -05:00
sub-lshr-or-to-icmp-select.ll [InstCombine] Fold lshr/ashr(or(neg(x),x),bw-1) --> zext/sext(icmp_ne(x,0)) (PR50816) 2021-07-13 14:44:54 +01:00
sub-minmax.ll [InstCombine] fold sub-of-umax to 0-usubsat 2021-11-09 12:46:03 -05:00
sub-not.ll
sub-of-negatible-inseltpoison.ll Precommit tests that have poison as shufflevector's placeholder 2020-12-29 17:09:31 +09:00
sub-of-negatible.ll [InstCombine] allow Negator to fold multi-use select with constant arms 2021-10-28 08:35:58 -04:00
sub-or-and-xor.ll
sub-xor-or-neg-and.ll
sub-xor.ll
sub.ll [InstCombine] generalize subtract with 'not' operands; 2nd try 2021-08-23 17:06:51 -04:00
subtract-from-one-hand-of-select.ll
subtract-of-one-hand-of-select.ll
swifterror-argument-bitcast-fold.ll
switch-constant-expr.ll
switch-truncate-crash.ll
tan-nofastmath.ll
tan.ll
tbaa-store-to-load.ll
tmp-alloca-bypass.ll [Instcombine] Disable memcpy of alloca bypass for instruction sources 2021-04-14 16:52:09 +02:00
toascii-1.ll
token.ll
trivial-dse-calls.ll [MemoryLocation] Don't require nocapture in getForDest() 2021-12-22 12:20:13 +01:00
trunc-binop-ext.ll
trunc-demand.ll [InstCombine] fold cast of right-shift if high bits are not demanded (3rd try) 2021-10-03 10:37:22 -04:00
trunc-extractelement-inseltpoison.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
trunc-extractelement.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
trunc-inseltpoison.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
trunc-load.ll
trunc-shift-trunc.ll
trunc.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
truncating-saturate.ll [InstCombine] Fix type of constant in canonicalizeClampLike 2021-10-30 09:06:21 +01:00
type_pun-inseltpoison.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
type_pun.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
uadd-with-overflow.ll
uaddo.ll
uaddo2.ll [test] Add coverage for existing overflow rule with uadd.with.overflow 2021-06-25 10:45:00 -07:00
udiv-pow2-vscale-inseltpoison.ll Precommit transform tests that have poison as insertelement's placeholder 2020-12-24 11:46:17 +09:00
udiv-pow2-vscale.ll
udiv-simplify.ll [InstSimplify] icmp poison, X -> poison 2021-06-20 15:39:07 +09:00
udiv_select_to_select_shift.ll
udivrem-change-width.ll
umax-icmp.ll [InstCombine] Regenerate test checks (NFC) 2020-12-18 20:55:26 +01:00
umin-icmp.ll [InstCombine] Regenerate test checks (NFC) 2020-12-18 20:55:26 +01:00
umul-sign-check.ll [InstCombine] Fully disable select to and/or i1 folding 2021-05-06 09:29:52 +09:00
umulo.ll [instcombine] Fold overflow check using umulo to comparison 2021-06-25 10:25:45 -07:00
unavailable-debug.ll
unfold-masked-merge-with-const-mask-scalar.ll [InstCombine] Hoist xor-by-constant from xor-by-value 2020-12-24 21:20:50 +03:00
unfold-masked-merge-with-const-mask-vector.ll [InstCombine] Hoist xor-by-constant from xor-by-value 2020-12-24 21:20:50 +03:00
unordered-fcmp-select.ll
unpack-fca.ll [InstCombine] Regenerate test checks (NFC) 2021-03-10 20:27:10 +01:00
unreachable-dbg-info-modified.ll
unrecognized_three-way-comparison.ll
unsigned-add-lack-of-overflow-check-via-add.ll
unsigned-add-lack-of-overflow-check-via-xor.ll
unsigned-add-lack-of-overflow-check.ll
unsigned-add-overflow-check-via-add.ll
unsigned-add-overflow-check-via-xor.ll
unsigned-add-overflow-check.ll
unsigned-mul-lack-of-overflow-check-via-mul-udiv.ll
unsigned-mul-lack-of-overflow-check-via-udiv-of-allones.ll
unsigned-mul-overflow-check-via-mul-udiv.ll
unsigned-mul-overflow-check-via-udiv-of-allones.ll
unsigned-sub-lack-of-overflow-check.ll
unsigned-sub-overflow-check.ll
unsigned_saturated_sub.ll
unused-nonnull.ll [Attributes] Remove nonnull from UB-implying attributes 2021-07-25 18:07:31 +02:00
unwind-inline-asm.ll Support unwinding from inline assembly 2021-05-13 19:13:03 +01:00
urem-simplify-bug.ll
urem-via-udiv-mul-sub.ll
usub-overflow-known-by-implied-cond.ll [InstCombine] Fully disable select to and/or i1 folding 2021-05-06 09:29:52 +09:00
usubo.ll [instcombine] Fold overflow check using overflow intrinsic to comparison 2021-07-01 09:41:55 -07:00
vararg.ll
variable-signext-of-variable-high-bit-extraction.ll
vec-binop-select-inseltpoison.ll [InstCombine] Update InstCombine to use poison instead of undef for shufflevector's placeholder (2/3) 2021-09-23 00:14:50 +09:00
vec-binop-select.ll [InstCombine] Update InstCombine to use poison instead of undef for shufflevector's placeholder (2/3) 2021-09-23 00:14:50 +09:00
vec_demanded_elts-inseltpoison.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
vec_demanded_elts.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
vec_extract_2elts.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
vec_extract_var_elt-inseltpoison.ll Precommit transform tests that have poison as insertelement's placeholder 2020-12-24 11:46:17 +09:00
vec_extract_var_elt.ll
vec_gep_scalar_arg-inseltpoison.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
vec_gep_scalar_arg.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
vec_phi_extract-inseltpoison.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
vec_phi_extract.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
vec_sext.ll [InstCombine] fold mask-with-signbit-splat to icmp+select 2021-12-14 16:00:42 -05:00
vec_shuffle-inseltpoison.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
vec_shuffle.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
vec_udiv_to_shift.ll
vector-casts-inseltpoison.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
vector-casts.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
vector-concat-binop-inseltpoison.ll Precommit tests that have poison as shufflevector's placeholder 2020-12-29 17:09:31 +09:00
vector-concat-binop.ll
vector-logical-reductions.ll [Instcombiner]Improve emission of logical or/and reductions. 2021-03-04 08:01:02 -08:00
vector-mul.ll
vector-reductions.ll
vector-reverse.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
vector-type.ll
vector-udiv.ll [InstSimplify] Fold division by zero to poison 2021-01-03 20:52:45 +01:00
vector-urem.ll [InstSimplify] Fold division by zero to poison 2021-01-03 20:52:45 +01:00
vector-xor.ll
vector_gep1-inseltpoison.ll [ConstantFold] allow folding icmp of null and constexpr 2021-03-08 08:53:59 -05:00
vector_gep1.ll [ConstantFold] allow folding icmp of null and constexpr 2021-03-08 08:53:59 -05:00
vector_gep2.ll
vector_insertelt_shuffle-inseltpoison.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
vector_insertelt_shuffle.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
volatile_load_cast.ll
volatile_store.ll Revert "Revert "Temporarily do not drop volatile stores before unreachable"" 2021-07-09 11:44:34 -04:00
vscale_alloca.ll
vscale_cmp.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
vscale_extractelement-inseltpoison.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
vscale_extractelement.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
vscale_gep.ll
vscale_insertelement-inseltpoison.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
vscale_insertelement.ll [instcombine] Canonicalize constant index type to i64 for extractelement/insertelement 2021-12-13 16:56:22 -08:00
vscale_load.ll [InstCombine][ConstantFolding] Make ConstantFoldLoadThroughBitcast TypeSize-aware 2021-10-28 12:15:15 +00:00
vscale_sext_and_zext.ll [IR] Remove unbounded as possible value for vscale_range minimum 2021-12-07 09:52:21 +00:00
vscale_trunc.ll [IR] Remove unbounded as possible value for vscale_range minimum 2021-12-07 09:52:21 +00:00
wcslen-1.ll
wcslen-2.ll
wcslen-3.ll
wcslen-4.ll
weak-symbols.ll
widenable-conditions.ll [InstCombine] Fully disable select to and/or i1 folding 2021-05-06 09:29:52 +09:00
win-math.ll
with_overflow.ll [ValueTracking] Improve ComputeNumSignBits for SRem. 2021-02-22 14:36:25 -08:00
xor-ashr.ll [InstCombine] Add reference to PR52397 to help with triage 2021-11-04 13:00:42 +00:00
xor-icmps.ll
xor-of-icmps-with-extra-uses.ll
xor-undef.ll
xor.ll [InstCombine] Fold (~A | B) ^ A --> ~(A & B) 2021-11-29 11:29:21 -05:00
xor2.ll [InstCombine] Hoist xor-by-constant from xor-by-value 2020-12-24 21:20:50 +03:00
zero-point-zero-add.ll
zeroext-and-reduce.ll
zext-bool-add-sub.ll
zext-ctlz-trunc-to-ctlz-add.ll [IR] Let ConstantVector::getSplat use poison instead of undef 2021-08-10 08:27:43 +01:00
zext-fold.ll
zext-or-icmp.ll [InstCombine] remove a buggy set of zext-icmp transforms 2021-09-09 08:49:39 -04:00
zext-phi.ll
zext.ll [InstCombine] remove a buggy set of zext-icmp transforms 2021-09-09 08:49:39 -04: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.