llvm-project/llvm/test/Transforms/InstCombine
Sanjay Patel cbb75129b7 [InstCombine] regenerate test checks; NFC
Avoid phantom (cosmetic value naming) diffs in potential future patches.
2021-11-22 14:43:57 -05:00
..
AArch64 [AArch64][SVE] Instcombine SVE LD1/ST1 to stock LLVM IR 2021-11-16 11:10:23 +00: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] 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 [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
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] regenerate test checks; NFC 2021-11-22 14:43:57 -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) | ~(c | (a ^ b)) -> ~((a | b) & (c | (b ^ a))) 2021-11-22 10:49:21 -08:00
and.ll [InstCombine] move/add tests for binops with sext operand; NFC 2021-11-22 14:43:57 -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 [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 [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] 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
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
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 [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 [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
commutative-intrinsics.ll
compare-3way.ll
compare-alloca.ll
compare-signs.ll [InstCombine] regenerate test checks; NFC 2021-11-22 14:43:57 -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 [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
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 [IR] Let ConstantVector::getSplat use poison instead of undef 2021-08-10 08:27:43 +01: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 [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
fmul.ll [IR] Let ConstantVector::getSplat use poison instead of undef 2021-08-10 08:27:43 +01: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 [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 [InstCombine] avoid 'tmp' usage in test files; NFC 2021-11-22 14:43:57 -05: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 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 [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-zext.ll [InstCombine] Improve TryToSinkInstruction with multiple uses 2021-09-21 10:04:04 -04:00
icmp-mul.ll [instcombine] Fix oss-fuzz 39934 (mul matcher can match non-instruction) 2021-10-24 14:42:03 -07: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] canonicalize icmp with trunc op into mask and cmp, part 2 2021-11-16 09:27:30 -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 [Analysis] Add support for vscale in computeKnownBitsFromOperator 2021-09-20 15:01:59 +01: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 [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] Extend pattern to replace shuffle's insertelement operand 2021-11-03 09:43:04 +01: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] 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] change 'not' match for bitwise select 2021-11-02 10:16:01 -04:00
logical-select.ll [InstCombine] add check for integer source type from cast to prevent crash 2021-11-10 09:44:55 -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 [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] 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 range test idiom 2021-11-08 21:15:46 +01: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 [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
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
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] move/add tests for binops with sext operand; NFC 2021-11-22 14:43:57 -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
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
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
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
pr34349.ll
pr34627.ll
pr35515.ll
pr36362.ll
pr38677.ll
pr38897.ll
pr38915.ll
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
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
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] 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] 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 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
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][NFC] Pre-commit baseline test for D113442. 2021-11-10 19:45:27 -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 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 [InstCombine] regenerate test checks; NFC 2021-11-22 14:43:57 -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] 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
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
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 [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
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 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
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] Strip offset when folding and/or of icmps 2021-11-10 22:01:52 +01: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] Canonicalize range test idiom 2021-11-08 21:15:46 +01: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
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 [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
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] 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 [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] Fix type of constant in canonicalizeClampLike 2021-10-30 09:06:21 +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
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] 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
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_load.ll [InstCombine][ConstantFolding] Make ConstantFoldLoadThroughBitcast TypeSize-aware 2021-10-28 12:15:15 +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
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] (~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.