llvm-project/llvm/test/Transforms/InstCombine
Sanjay Patel 80ab06c599 [InstCombine] fold fake vector insert to bit-logic
bitcast (inselt (bitcast X), Y, 0) --> or (and X, MaskC), (zext Y)

https://alive2.llvm.org/ce/z/Ux-662

Similar to D111082 / db231ebdb0 :
We want to avoid relatively opaque vector ops on types that are
likely supported by the backend as scalar integers. The bitwise
logic ops are more likely to allow further combining.

We probably want to generalize this to allow a shift too, but
that would oppose instcombine's general rule of not creating
extra instructions, so that's left as a potential follow-up.
Alternatively, we could do that transform in VectorCombine
with the help of the TTI cost model.

This is part of solving:
https://llvm.org/PR52057
2021-10-20 14:21:40 -04:00
..
AArch64 [AArch64][SVE] Propagate math flags from intrinsics to instructions 2021-10-05 15:39:13 +01:00
AMDGPU [Tests] Fix incorrect noalias metadata 2021-09-18 20:51:00 +02:00
ARM [ARM] Teach DemandedVectorElts about VMOVN lanes 2021-09-14 11:05:31 +01: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] fold fake vector extract to shift+trunc 2021-10-06 08:12:05 -04: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] Duplicate tests for logical and/or (NFC) 2021-01-12 21:50:41 +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
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] Duplicate tests for logical and/or (NFC) 2021-01-12 21:50:41 +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 [ConstantFold] Make areGlobalsPotentiallyEqual less aggressive. 2020-09-11 17:23:08 -07:00
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 [InstCombine] Fold `(X >>? C1) << C2` patterns to shift+bitmask (PR37872) 2020-10-27 14:42:53 +03:00
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
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 [InstCombine] Regenerate test checks (NFC) 2020-09-19 21:07:54 +02:00
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 [InstCombine] Regenerate test checks (NFC) 2020-09-19 21:07:54 +02:00
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
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] Fully disable select to and/or i1 folding 2021-05-06 09:29:52 +09:00
and-or-not.ll
and-or.ll
and-xor-merge.ll
and-xor-or.ll Precommit InstCombine/and-xor-or.ll test. NFC. 2021-10-20 11:13:12 -07:00
and.ll [InstCombine] generalize fold for mask-with-signbit-splat 2021-10-15 16:25:48 -04:00
and2.ll [InstCombine] Fully disable select to and/or i1 folding 2021-05-06 09:29:52 +09: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 [InstCombine] Regenerate test checks (NFC) 2020-09-19 21:07:54 +02:00
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 [Annotation] Allows annotation to carry some additional constant arguments. 2020-10-26 10:50:05 +01:00
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
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] use poison as placeholder for undemanded elems 2020-12-28 08:58:15 +09:00
bitcast-bitcast.ll
bitcast-function.ll
bitcast-inselt-bitcast.ll [InstCombine] fold fake vector insert to bit-logic 2021-10-20 14:21:40 -04:00
bitcast-inseltpoison.ll [InstCombine] use poison as placeholder for undemanded elems 2020-12-28 08:58:15 +09: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 [InsCombine] Fix a few remaining vec transforms to use poison instead of undef 2021-05-31 18:47:09 +09:00
bitcast-vec-canon.ll [InsCombine] Fix a few remaining vec transforms to use poison instead of undef 2021-05-31 18:47:09 +09:00
bitcast.ll Reapply [InstCombine] Extract bitcast -> gep transform 2021-06-21 22:03:15 +02: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 [InstCombine] auto-generate complete test checks; NFC 2020-10-01 13:44:31 -04:00
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] Update InstCombine to use poison instead of undef for shufflevector's placeholder (3/3) 2021-09-23 00:48:24 +09:00
broadcast.ll [InstCombine] Update InstCombine to use poison instead of undef for shufflevector's placeholder (3/3) 2021-09-23 00:48:24 +09:00
bswap-fold.ll [InstCombine] Fix bswap(trunc(bswap(x))) -> trunc(lshr(x, c)) vector support 2020-09-30 16:01:08 +01:00
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 [Tests] Regenerate test checks; NFC 2020-10-12 17:55:00 +02:00
cabs-discrete.ll [Tests] Regenerate test checks; NFC 2020-10-12 17:55:00 +02: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
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 [test][InstCombine][NewPM] Fix InstCombine tests under NPM 2020-10-06 07:39:00 -07:00
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 [NFC][InstCombine] Autogenerate some checklines being affected by upcoming change 2021-03-23 00:51:18 +03: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 [InstCombine] add folds for icmp+ctpop 2020-10-26 16:48:56 -04:00
cmp-x-vs-neg-x.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
commutative-intrinsics.ll [InstCombine] canonicalize all commutative intrinsics with constant arg 2020-09-03 12:42:04 -04:00
compare-3way.ll
compare-alloca.ll
compare-signs.ll [InstCombine] fold shift+trunc signbit check 2021-04-12 16:19:43 -04:00
compare-udiv.ll
compare-unescaped.ll
conditional-variable-length-signext-after-high-bit-extract.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
consecutive-fences.ll
constant-expr-datalayout.ll
constant-fold-address-space-pointer.ll [ValueTracking] Interpret GEPs as a series of adds multiplied by the related scaling factor 2020-10-21 15:07:04 -07:00
constant-fold-alias.ll
constant-fold-compare.ll
constant-fold-gep.ll [ValueTracking] Interpret GEPs as a series of adds multiplied by the related scaling factor 2020-10-21 15:07:04 -07:00
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
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 [DIE] Remove DeadInstEliminationPass 2020-09-21 12:12:25 -07:00
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 [NewPM] Support -disable-simplify-libcall/-disable-builtin in NPM opt 2020-09-21 16:38:37 -07:00
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 [IR] Let ConstantVector::getSplat use poison instead of undef 2021-08-10 08:27:43 +01:00
do-not-clone-dbg-declare.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
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 [NewPM] Pin tests with -debug-pass to legacy PM 2020-09-22 17:54:25 -07:00
early_dce_clobbers_callgraph.ll [test][InstCombine][NewPM] Fix InstCombine tests under NPM 2020-10-06 07:39:00 -07:00
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 [InstCombine] Remove dbg.values describing contents of dead allocas 2020-10-22 10:00:13 -07:00
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 [InsCombine] Fix a few remaining vec transforms to use poison instead of undef 2021-05-31 18:47:09 +09:00
extractelement.ll [InstCombine] ease use check for fold of bitcasted extractelt to trunc 2021-10-07 15:09:34 -04:00
extractinsert-tbaa.ll
extractvalue.ll
fabs-copysign.ll
fabs-libcall.ll [Tests] Regenerate test checks; NFC 2020-10-12 17:55:00 +02:00
fabs.ll [InstCombine] Remove nnan requirement for transformation to fabs from select 2021-08-09 22:58:51 +05:30
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 Remove functions from *-inseltpoison.ll tests if unnecessary 2020-12-30 23:50:37 +09: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 [InstCombine] Transform 1.0/sqrt(X) * X to X/sqrt(X) 2020-09-02 08:23:48 -04:00
fmul.ll [IR] Let ConstantVector::getSplat use poison instead of undef 2021-08-10 08:27:43 +01: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 [InstCombine] allow vector splats for add+xor with signmask 2020-10-08 10:46:34 -04:00
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 Revert "[BuildLibCalls/SimplifyLibCalls] Fix attributes on created CallInst instructions." 2021-06-24 19:24:34 -07: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 [instcombine] PRE freeze to only potentially posion/undef operand of phi 2021-10-13 13:55:54 -07:00
fsh.ll [InstCombine] Add undef funnel shift amount test coverage 2020-10-14 11:58:37 +01:00
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] Update InstCombine to use poison instead of undef for shufflevector's placeholder (2/3) 2021-09-23 00:14:50 +09:00
gep-sext.ll
gep-vector-indices.ll [InstSimplify] Add constant fold for extractelement + splat for scalable vectors 2021-06-10 12:41:40 +01: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 Reland [IR] Increase max alignment to 4GB 2021-10-06 13:29:23 -07:00
high-bit-signmask-with-trunc.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
high-bit-signmask.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
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] avoid breaking up min/max (cmp+sel) idioms 2021-08-11 12:48:11 -04:00
icmp-bc-vec-inseltpoison.ll Precommit tests that have poison as shufflevector's placeholder 2020-12-29 17:09:31 +09:00
icmp-bc-vec.ll
icmp-bitcast-glob.ll [ConstantFold] Fold the comparison of bitcasted global values 2020-10-20 12:41:49 -07:00
icmp-constant-phi.ll
icmp-custom-dl.ll [InstCombine] Duplicate tests for logical and/or (NFC) 2021-01-12 21:50:41 +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-zext.ll [InstCombine] Improve TryToSinkInstruction with multiple uses 2021-09-21 10:04:04 -04:00
icmp-mul.ll [InstCombine] improve folds for icmp with multiply operands (PR47432) 2020-09-07 12:40:37 -04: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 [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
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] add tests for (X - Y) == 0; NFC 2021-10-10 11:13:46 -04: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 [Analysis] Add support for vscale in computeKnownBitsFromOperator 2021-09-20 15:01:59 +01:00
icmp-xor-signbit.ll
icmp.ll [InstCombine] generalize fold for mask-with-signbit-splat 2021-10-15 16:25:48 -04: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 [InstSimplify] Fold division by zero to poison 2021-01-03 20:52:45 +01:00
inselt-binop.ll [InstSimplify] Fold division by zero to poison 2021-01-03 20:52:45 +01:00
insert-const-shuf.ll [InstCombine] use poison as placeholder for undemanded elems 2020-12-28 08:58:15 +09: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] Update InstCombine to use poison instead of undef for shufflevector's placeholder (3/3) 2021-09-23 00:48:24 +09:00
insert-extract-shuffle.ll [InstCombine] Update InstCombine to use poison instead of undef for shufflevector's placeholder (3/3) 2021-09-23 00:48:24 +09: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
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 [InstCombine] combineLoadToOperationType(): don't fold int<->ptr cast into load 2020-10-11 20:24:28 +03:00
load-bitcast64.ll [InstCombine] combineLoadToOperationType(): don't fold int<->ptr cast into load 2020-10-11 20:24:28 +03:00
load-cmp.ll [InstCombine] Fix miscompile on GEP+load to icmp fold (PR45210) 2021-06-17 19:46:17 +09: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 [InstCombine] Add load/store forwarding test with odd size (NFC) 2021-04-03 15:29:22 +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 [InstCombine] Regenerate test checks (NFC) 2020-09-19 21:07:54 +02:00
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] Fully disable select to and/or i1 folding 2021-05-06 09:29:52 +09:00
logical-select.ll [InstCombine] Fully disable select to and/or i1 folding 2021-05-06 09:29:52 +09: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 [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
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 [tests] Stablize tests for possible change in deref semantics 2021-07-14 13:05:43 -07:00
masked_intrinsics.ll [tests] Stablize tests for possible change in deref semantics 2021-07-14 13:05:43 -07:00
masked_intrinsics_keep_metadata.ll Attach metadata to simplified masked loads and stores 2021-05-05 18:01:49 -05: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 Reland "[Libcalls, Attrs] Annotate libcalls with noundef" 2021-02-20 06:18:48 +01: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 [InstCombine] remove incompatible attribute when simplifying some lib calls 2021-01-22 17:27:36 -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 Reland "[Libcalls, Attrs] Annotate libcalls with noundef" 2021-02-20 06:18:48 +01:00
memcpy_chk-2.ll
memmove-1.ll [InstCombine] remove incompatible attribute when simplifying some lib calls 2021-01-22 17:27:36 -08:00
memmove-2.ll
memmove.ll
memmove_chk-1.ll Reland "[Libcalls, Attrs] Annotate libcalls with noundef" 2021-02-20 06:18:48 +01:00
memmove_chk-2.ll
mempcpy.ll Reland [IR] Increase max alignment to 4GB 2021-10-06 13:29:23 -07:00
memrchr.ll
memset-1.ll [SimplifyLibCalls][NFC] Clean up LibCallSimplifier from 'memset + malloc into calloc' transformation 2021-08-05 16:08:32 +02:00
memset-2.ll
memset.ll
memset2.ll
memset_chk-1.ll Revert "[BuildLibCalls/SimplifyLibCalls] Fix attributes on created CallInst instructions." 2021-06-24 19:24:34 -07:00
memset_chk-2.ll
merge-icmp.ll [InstCombine] Duplicate tests for logical and/or (NFC) 2021-01-12 21:50:41 +01:00
merging-multiple-stores-into-successor.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
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 Pre-commit two-way clamp tests 2021-08-13 12:02:32 +08:00
minmax-fp.ll [InstCombine] Regenerate test checks (NFC) 2020-12-18 20:55:26 +01:00
minmax-intrinsics.ll [InstCombine] move add after min/max intrinsic 2021-09-26 09:49:10 -04: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 [NFC][InstCombine] Autogenerate some checklines being affected by upcoming change 2021-03-23 00:51:18 +03:00
multi-use-load-casts.ll
multi-use-or.ll
multiple-uses-load-bitcast-select.ll
musttail-thunk.ll
narrow-math.ll [InstCombine] Regenerate narrow-math.ll tests 2020-11-06 11:35:54 +00:00
narrow-switch.ll [InstCombine] Fix malformed CHECK32/64 test checks. 2020-11-08 13:34:07 +00: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 [InstCombine] Revert rL226781 "Teach InstCombine to canonicalize loads which are only ever stored to always use a legal integer type if one is available." (PR47592) 2020-10-06 00:00:30 +03:00
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 Revert "[BuildLibCalls/SimplifyLibCalls] Fix attributes on created CallInst instructions." 2021-06-24 19:24:34 -07: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 [InstCombine] matchRotate - support (uniform) constant rotation amounts (PR46895) 2020-09-25 22:03:10 +01:00
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] Add PR45977 test coverage 2021-02-22 12:20:35 +00:00
or.ll [InstCombine] allow matching vector splat constants in foldLogOpOfMaskedICmps() 2021-10-13 10:15:26 -04: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
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 [InstCombine] Take 3: Perform trivial PHI CSE 2020-08-29 18:21:24 +03:00
phi-cse.ll [NFC][InstCombine] visitPHINode(): cleanup PHI CSE instruction replacement 2020-08-31 22:29:39 +03:00
phi-equal-incoming-pointers.ll [InstCombine] Take 3: Perform trivial PHI CSE 2020-08-29 18:21:24 +03:00
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 [Value][InstCombine] Fix one-use checks in PHI-of-op -> Op-of-PHI[s] transforms to be one-user checks 2020-08-26 20:20:41 +03:00
phi-of-insertvalues.ll [Value][InstCombine] Fix one-use checks in PHI-of-op -> Op-of-PHI[s] transforms to be one-user checks 2020-08-26 20:20:41 +03:00
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 [IsKnownNonZero] Handle the case with non-constant phi nodes 2020-09-29 15:22:10 +07:00
pow-0.ll
pow-1.ll [InstCombine] Fix errno bug in pow expansion to sqrt 2020-09-22 18:58:05 -04: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
pow-sqrt.ll [InstCombine][NFC][tests] Add ninf base value case to pow-sqrt.ll 2020-09-22 18:58:05 -04:00
pow_fp_int.ll Revert "[BuildLibCalls/SimplifyLibCalls] Fix attributes on created CallInst instructions." 2021-06-24 19:24:34 -07:00
pow_fp_int16.ll Revert "[BuildLibCalls/SimplifyLibCalls] Fix attributes on created CallInst instructions." 2021-06-24 19:24:34 -07: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 [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
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 [ConstantFold] Fold the comparison of bitcasted global values 2020-10-20 12:41:49 -07:00
pr33453.ll
pr33689_same_bitwidth.ll [InstCombine] erase instructions leading up to unreachable 2020-09-07 10:44:08 -04:00
pr34349.ll
pr34627.ll
pr35515.ll
pr36362.ll
pr38677.ll
pr38897.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
pr38915.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
pr38984-inseltpoison.ll Precommit transform tests that have poison as insertelement's placeholder 2020-12-24 11:46:17 +09:00
pr38984.ll
pr39177.ll
pr39908.ll
pr41164.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
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]Transform reduction+(sext/zext(<n x i1>) to <n x im>) to [-]zext/trunc(ctpop(bitcast <n x i1> to in)) to im. 2021-07-08 07:56:41 -07:00
reduction-and-sext-zext-i1.ll [InstCombine] `vector_reduce_{or,and}(?ext(<n x i1>))` --> `?ext(vector_reduce_{or,and}(<n x i1>))` (PR51259) 2021-08-03 00:54:35 +03:00
reduction-mul-sext-zext-i1.ll [InstCombine] `vector_reduce_mul(?ext(<n x i1>))` --> `zext(vector_reduce_and(<n x i1>))` (PR51259) 2021-08-02 21:57:51 +03:00
reduction-or-sext-zext-i1.ll [InstCombine] `vector_reduce_{or,and}(?ext(<n x i1>))` --> `?ext(vector_reduce_{or,and}(<n x i1>))` (PR51259) 2021-08-03 00:54:35 +03: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] `vector_reduce_smax(?ext(<n x i1>))` --> `?ext(vector_reduce_{and,or}(<n x i1>))` (PR51259) 2021-08-03 00:29:06 +03:00
reduction-smin-sext-zext-i1.ll [InstCombine] `vector_reduce_smin(?ext(<n x i1>))` --> `?ext(vector_reduce_{or,and}(<n x i1>))` (PR51259) 2021-08-03 00:29:06 +03:00
reduction-umax-sext-zext-i1.ll [InstCombine] `vector_reduce_umax(?ext(<n x i1>))` --> `?ext(vector_reduce_or(<n x i1>))` (PR51259) 2021-08-02 23:02:23 +03:00
reduction-umin-sext-zext-i1.ll [InstCombine] `vector_reduce_umin(?ext(<n x i1>))` --> `?ext(vector_reduce_and(<n x i1>))` (PR51259) 2021-08-02 23:02:22 +03:00
reduction-xor-sext-zext-i1.ll [NFC][InstCombine] Simplify emitted IR for `vector_reduce_xor(?ext(<n x i1>))` 2021-08-07 17:31:24 +03:00
redundant-left-shift-input-masking-after-truncation-variant-a.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
redundant-left-shift-input-masking-after-truncation-variant-b.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
redundant-left-shift-input-masking-after-truncation-variant-c.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
redundant-left-shift-input-masking-after-truncation-variant-d.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
redundant-left-shift-input-masking-after-truncation-variant-e.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
redundant-left-shift-input-masking-after-truncation-variant-f.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
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 [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
redundant-left-shift-input-masking-variant-b.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
redundant-left-shift-input-masking-variant-c.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
redundant-left-shift-input-masking-variant-d.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
redundant-left-shift-input-masking-variant-e.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
redundant-left-shift-input-masking-variant-f.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
redundant-right-shift-input-masking.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
rem.ll [InstCombine] add tests for srem-by-2; NFC 2021-04-20 17:10:16 -04: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
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] Add call to matchSAddSubSat from min/max 2021-08-15 17:25:16 +01: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 Precommit tests that have poison as shufflevector's placeholder 2020-12-29 17:09:31 +09:00
scalarization.ll
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 [IR] Make nosync, nofree and willreturn default for intrinsics. 2020-10-20 11:57:19 +02:00
sdiv-of-non-negative-by-negative-power-of-two.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
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-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 Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
select-extractelement.ll Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02: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
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] Fully disable select to and/or i1 folding 2021-05-06 09:29:52 +09: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
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 Reapply [ConstantFold] Fold more operations to poison 2021-05-13 16:04:12 +02:00
shift-add.ll Reapply [ConstantFold] Fold more operations to poison 2021-05-13 16:04:12 +02:00
shift-amount-reassociation-in-bittest-with-truncation-lshr.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
shift-amount-reassociation-in-bittest-with-truncation-shl.ll [InstCombine] visitTrunc - trunc(shl(X, C)) --> shl(trunc(X),trunc(C)) vector support 2020-10-08 22:07:51 +01:00
shift-amount-reassociation-in-bittest.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
shift-amount-reassociation-with-truncation-ashr.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
shift-amount-reassociation-with-truncation-lshr.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
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 [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
shift-by-signext.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
shift-direction-in-bit-test.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
shift-logic.ll [InstCombine] foldShiftOfShiftedLogic - add support for nonuniform constant vectors 2020-10-09 14:25:12 +01:00
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 [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
shl-and-signbit-icmpeq-zero.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
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 [InstCombine] factorize left shifts of add/sub 2020-09-20 12:55:24 -04:00
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 Precommit tests that have poison as shufflevector's placeholder 2020-12-29 17:09:31 +09:00
shuffle_select.ll [InstCombine] use poison as placeholder for undemanded elems 2020-12-28 08:58:15 +09:00
shufflevec-bitcast-inseltpoison.ll [InstCombine] Update InstCombine to use poison instead of undef for shufflevector's placeholder (1/3) 2021-09-22 23:18:51 +09:00
shufflevec-bitcast.ll [InstCombine] Update InstCombine to use poison instead of undef for shufflevector's placeholder (1/3) 2021-09-22 23:18:51 +09: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] Update InstCombine to use poison instead of undef for shufflevector's placeholder (2/3) 2021-09-23 00:14:50 +09:00
shufflevector-div-rem.ll [InstCombine] Update InstCombine to use poison instead of undef for shufflevector's placeholder (2/3) 2021-09-23 00:14:50 +09: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 [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
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] Fully disable select to and/or i1 folding 2021-05-06 09:29:52 +09:00
signext.ll [InstCombine] allow vector splats for add+xor --> shifts 2020-10-11 09:04:24 -04:00
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
sink-alloca.ll
sink-into-catchswitch.ll
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 [InstCombine] Improve TryToSinkInstruction with multiple uses 2021-09-21 10:04:04 -04: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] Fold overflow check using overflow intrinsic to comparison 2021-07-01 09:41:55 -07:00
snprintf.ll Reland "[Libcalls, Attrs] Annotate libcalls with noundef" 2021-02-20 06:18:48 +01: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 [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
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 Reapply "OpaquePtr: Turn inalloca into a type attribute" 2021-03-29 08:55:30 -04: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 [InstCombine] stpcpy(d,s) -> strcpy(d,s) if the result is not used 2021-09-05 12:12:07 +02:00
stpcpy-2.ll
stpcpy_chk-1.ll Revert "[BuildLibCalls/SimplifyLibCalls] Fix attributes on created CallInst instructions." 2021-06-24 19:24:34 -07: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 Revert "[BuildLibCalls/SimplifyLibCalls] Fix attributes on created CallInst instructions." 2021-06-24 19:24:34 -07: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 Revert "[BuildLibCalls/SimplifyLibCalls] Fix attributes on created CallInst instructions." 2021-06-24 19:24:34 -07: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 [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
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 Revert "[BuildLibCalls/SimplifyLibCalls] Fix attributes on created CallInst instructions." 2021-06-24 19:24:34 -07: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] update code/test comments; NFC 2021-09-11 10:53:53 -04: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] use poison as placeholder for undemanded elems 2020-12-28 08:58:15 +09:00
sub-or-and-xor.ll
sub-xor-or-neg-and.ll
sub-xor.ll [InstCombine] allow vector splats for add+xor with low-mask 2020-10-08 15:53:38 -04:00
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 [InstCombine] Do not introduce bitcasts for swifterror arguments. 2020-10-28 21:52:12 +00:00
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
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 Precommit tests that have poison as shufflevector's placeholder 2020-12-29 17:09:31 +09:00
trunc-extractelement.ll [InstCombine] Remove scalable vector restriction in InstCombineCasts 2020-12-17 22:02:33 +08:00
trunc-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
trunc-load.ll [InstCombine] Remove unused check-prefixes 2020-11-08 13:33:21 +00:00
trunc-shift-trunc.ll [InstCombine] visitTrunc - pass through undefs for trunc(shift(trunc/ext(x),c)) patterns 2020-10-13 14:35:18 +01:00
trunc.ll [InstCombine] Update InstCombine to use poison instead of undef for shufflevector's placeholder (3/3) 2021-09-23 00:48:24 +09:00
truncating-saturate.ll [InstCombine] Add some extra tests for truncated saturates. NFC 2021-10-17 13:21:28 +01:00
type_pun-inseltpoison.ll [IR] Let IRBuilder's CreateVectorSplat/CreateShuffleVector use poison as placeholder 2020-12-30 04:21:04 +09:00
type_pun.ll [IR] Let IRBuilder's CreateVectorSplat/CreateShuffleVector use poison as placeholder 2020-12-30 04:21:04 +09: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 [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
unsigned-add-lack-of-overflow-check-via-xor.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
unsigned-add-lack-of-overflow-check.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
unsigned-add-overflow-check-via-add.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
unsigned-add-overflow-check-via-xor.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
unsigned-add-overflow-check.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
unsigned-mul-lack-of-overflow-check-via-mul-udiv.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
unsigned-mul-lack-of-overflow-check-via-udiv-of-allones.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
unsigned-mul-overflow-check-via-mul-udiv.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
unsigned-mul-overflow-check-via-udiv-of-allones.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
unsigned-sub-lack-of-overflow-check.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
unsigned-sub-overflow-check.ll [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
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 [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
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 [InstCombine] use redirect of input file in regression tests; NFC 2020-09-29 11:06:25 -04:00
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] Update InstCombine to use poison instead of undef for shufflevector's placeholder (3/3) 2021-09-23 00:48:24 +09:00
vec_demanded_elts.ll [InstCombine] Update InstCombine to use poison instead of undef for shufflevector's placeholder (3/3) 2021-09-23 00:48:24 +09:00
vec_extract_2elts.ll
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] Fold extractelement + vector GEP with one use 2021-05-26 09:54:26 +01:00
vec_gep_scalar_arg.ll [InstCombine] Fold extractelement + vector GEP with one use 2021-05-26 09:54:26 +01:00
vec_phi_extract-inseltpoison.ll Precommit tests that have poison as shufflevector's placeholder 2020-12-29 17:09:31 +09:00
vec_phi_extract.ll
vec_sext.ll
vec_shuffle-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
vec_shuffle.ll [InstCombine] Update InstCombine to use poison instead of undef for shufflevector's placeholder (3/3) 2021-09-23 00:48:24 +09:00
vec_udiv_to_shift.ll
vector-casts-inseltpoison.ll [InstCombine] use poison as placeholder for undemanded elems 2020-12-28 08:58:15 +09:00
vector-casts.ll [InstCombine] Update InstCombine to use poison instead of undef for shufflevector's placeholder (1/3) 2021-09-22 23:18:51 +09: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 [llvm][mlir] Promote the experimental reduction intrinsics to be first class intrinsics. 2020-10-07 10:36:44 -07:00
vector-reverse.ll [InstCombine] Eliminate vector reverse if all inputs/outputs to an instruction are reverses 2021-09-20 18:32:24 -07: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 [InstSimplify] Return poison if insertelement touches out of bounds 2021-01-04 00:43:02 +09:00
vector_insertelt_shuffle.ll [InstSimplify] Return poison if insertelement touches out of bounds 2021-01-04 00:43:02 +09: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] Update InstCombine to use poison instead of undef for shufflevector's placeholder (2/3) 2021-09-23 00:14:50 +09:00
vscale_extractelement-inseltpoison.ll [InstSimplify][test] move tests that don't require InstCombine; NFC 2021-06-24 13:13:34 -04:00
vscale_extractelement.ll [VectorUtils] Teach findScalarElement to return splat value. 2021-09-06 10:56:06 +01:00
vscale_gep.ll
vscale_insertelement-inseltpoison.ll Precommit tests that have poison as shufflevector's placeholder 2020-12-29 17:09:31 +09:00
vscale_insertelement.ll [IR] ShuffleVectorInst::isIdentityWithPadding - bail on non-fixed-type vector shuffles. 2020-11-17 16:16:51 +00:00
vscale_sext_and_zext.ll [InstCombine] Fix vscale zext/sext optimization when vscale_range is unbounded. 2021-08-04 17:17:37 +01:00
vscale_trunc.ll [SVE] Add folds for truncation of vscale 2021-08-13 10:18:00 +01: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 [InstCombine] Fix errno bug in pow expansion to sqrt 2020-09-22 18:58:05 -04:00
with_overflow.ll [ValueTracking] Improve ComputeNumSignBits for SRem. 2021-02-22 14:36:25 -08:00
xor-icmps.ll
xor-of-icmps-with-extra-uses.ll
xor-undef.ll
xor.ll [InstCombine] (~A & B) ^ A -> A | B 2020-10-17 12:20:18 -04: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.