llvm-project/llvm/test/Transforms/InstCombine
Nikita Popov 8453fbf088 [ValueTracking] Compute known bits of min/max intrinsics
Implement known bits for the min/max intrinsics based on the
recently added KnownBits primitives.
2020-09-08 21:08:17 +02:00
..
AArch64 [SVE] Fix TypeSize related warnings with IR truncates of scalable vectors 2020-08-25 09:17:56 +01:00
AMDGPU [AMDGPU] Add A16/G16 to InstCombine 2020-08-20 10:51:49 +02:00
ARM [ARM] Enabled VMLAV and Add instructions to use VMLAVA 2020-08-19 08:36:49 +00:00
Hexagon [Hexagon] Simplify intrinsic (vandvrt (vandqrt q b) m) -> q if possible 2020-02-21 13:56:04 -06:00
NVPTX [InstCombine] Move target-specific inst combining 2020-07-22 15:59:49 +02:00
PowerPC Re-land "[PowerPC] Remove QPX/A2Q BGQ/BGP CNK support" 2020-07-28 14:00:11 +00:00
X86 [X86][FPEnv] Teach X86 mask compare intrinsics to respect strict FP semantics. 2020-08-11 10:28:41 +08:00
2003-05-26-CastMiscompile.ll
2003-05-27-ConstExprCrash.ll
2003-06-05-BranchInvertInfLoop.ll
2003-07-21-ExternalConstant.ll
2003-08-12-AllocaNonNull.ll
2003-09-09-VolatileLoadElim.ll
2003-10-29-CallSiteResolve.ll
2003-11-03-VarargsCallBug.ll
2004-01-13-InstCombineInvokePHI.ll
2004-02-23-ShiftShiftOverflow.ll
2004-03-13-InstCombineInfLoop.ll
2004-04-04-InstCombineReplaceAllUsesWith.ll
2004-05-07-UnsizedCastLoad.ll
2004-07-27-ConstantExprMul.ll
2004-08-09-RemInfLoop.ll
2004-08-10-BoolSetCC.ll
2004-09-20-BadLoadCombine.ll
2004-09-20-BadLoadCombine2.ll
2004-09-28-BadShiftAndSetCC.ll
2004-11-22-Missed-and-fold.ll
2004-11-27-SetCCForCastLargerAndConstant.ll [InstCombine] narrow icmp with extended operands of different widths 2019-08-21 11:56:08 +00:00
2004-12-08-RemInfiniteLoop.ll
2005-03-04-ShiftOverflow.ll
2005-04-07-UDivSelectCrash.ll
2005-06-15-DivSelectCrash.ll
2005-06-15-ShiftSetCCCrash.ll
2005-06-16-RangeCrash.ll
2005-07-07-DeadPHILoop.ll
2006-02-13-DemandedMiscompile.ll
2006-02-28-Crash.ll
2006-03-30-ExtractElement.ll
2006-04-28-ShiftShiftLongLong.ll
2006-05-04-DemandedBitCrash.ll
2006-09-15-CastToBool.ll
2006-10-19-SignedToUnsignedCastAndConst-2.ll
2006-10-20-mask.ll
2006-10-26-VectorReassoc.ll
2006-11-10-ashr-miscompile.ll
2006-12-01-BadFPVectorXform.ll
2006-12-05-fp-to-int-ext.ll
2006-12-08-Phi-ICmp-Op-Fold.ll
2006-12-08-Select-ICmp.ll
2006-12-15-Range-Test.ll
2006-12-23-Select-Cmp-Cmp.ll
2007-01-13-ExtCompareMiscompile.ll
2007-01-18-VectorInfLoop.ll
2007-02-01-LoadSinkAlloca.ll
2007-02-07-PointerCast.ll
2007-02-23-PhiFoldInfLoop.ll
2007-03-13-CompareMerge.ll
2007-03-19-BadTruncChangePR1261.ll
2007-03-21-SignedRangeTest.ll
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
2007-05-14-Crash.ll
2007-05-18-CastFoldBug.ll
2007-06-06-AshrSignBit.ll
2007-06-21-DivCompareMiscomp.ll
2007-08-02-InfiniteLoop.ll
2007-09-10-AliasConstFold.ll
2007-09-17-AliasConstFold2.ll
2007-10-10-EliminateMemCpy.ll
2007-10-12-Crash.ll
2007-10-28-stacksave.ll
2007-10-31-RangeCrash.ll
2007-10-31-StringCrash.ll
2007-11-07-OpaqueAlignCrash.ll
2007-11-15-CompareMiscomp.ll
2007-11-25-CompatibleAttributes.ll
2007-12-10-ConstFoldCompare.ll
2007-12-12-GEPScale.ll
2007-12-16-AsmNoUnwind.ll
2007-12-18-AddSelCmpSub.ll
2007-12-28-IcmpSub2.ll
2008-01-06-BitCastAttributes.ll
2008-01-06-CastCrash.ll
2008-01-06-VoidCast.ll
2008-01-13-AndCmpCmp.ll
2008-01-14-VarArgTrampoline.ll
2008-01-21-MismatchedCastAndCompare.ll
2008-01-21-MulTrunc.ll [InstCombine] canEvaluateTruncated - use KnownBits to check for inrange shift amounts 2020-07-03 16:02:10 +01:00
2008-01-27-FloatSelect.ll
2008-02-13-MulURem.ll
2008-02-16-SDivOverflow2.ll
2008-02-23-MulSub.ll
2008-02-28-OrFCmpCrash.ll
2008-03-13-IntToPtr.ll
2008-04-22-ByValBitcast.ll
2008-04-28-VolatileStore.ll
2008-04-29-VolatileLoadDontMerge.ll
2008-04-29-VolatileLoadMerge.ll
2008-05-08-LiveStoreDelete.ll
2008-05-08-StrLenSink.ll
2008-05-09-SinkOfInvoke.ll
2008-05-17-InfLoop.ll
2008-05-18-FoldIntToPtr.ll
2008-05-22-IDivVector.ll
2008-05-23-CompareFold.ll
2008-05-31-AddBool.ll
2008-05-31-Bools.ll
2008-06-05-ashr-crash.ll
2008-06-08-ICmpPHI.ll
2008-06-13-InfiniteLoopStore.ll
2008-06-13-ReadOnlyCallStore.ll
2008-06-19-UncondLoad.ll
2008-06-21-CompareMiscomp.ll
2008-06-24-StackRestore.ll
2008-07-08-ShiftOneAndOne.ll
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
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 [NFC][InstCombine] Autogenerate a few tests 2019-07-20 21:34:00 +00:00
2009-01-05-i128-crash.ll
2009-01-08-AlignAlloca.ll
2009-01-16-PointerAddrSpace.ll
2009-01-19-fmod-constant-float-specials.ll
2009-01-19-fmod-constant-float.ll
2009-01-24-EmptyStruct.ll
2009-01-31-InfIterate.ll
2009-02-04-FPBitcast.ll
2009-02-11-NotInitialized.ll [FunctionAttrs] Rename functionattrs -> function-attrs 2020-07-28 09:09:13 -07:00
2009-02-20-InstCombine-SROA.ll
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 [NFC][InstCombine] Autogenerate a few tests 2019-07-20 21:34:00 +00:00
2009-07-02-MaskedIntVector.ll
2009-12-17-CmpSelectNull.ll
2010-01-28-NegativeSRem.ll [NFC][InstCombine] Autogenerate a few tests 2019-07-20 21:34:00 +00:00
2010-03-03-ExtElim.ll
2010-05-30-memcpy-Struct.ll Reland "[SLC] sprintf(dst, "%s", str) -> strcpy(dst, str)" 2020-08-15 12:14:57 +02:00
2010-11-01-lshr-mask.ll [InstCombine] canonicalize 'not' ops before logical shifts 2020-08-22 09:38:13 -04:00
2010-11-21-SizeZeroTypeGEP.ll
2010-11-23-Distributed.ll
2011-02-14-InfLoop.ll
2011-03-08-SRemMinusOneBadOpt.ll
2011-05-02-VectorBoolean.ll
2011-05-13-InBoundsGEP.ll
2011-05-28-swapmulsub.ll
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
2012-03-10-InstCombine.ll
2012-3-15-or-xor-constant.ll
2012-04-24-vselect.ll
2012-04-30-SRem.ll
2012-05-28-select-hang.ll
2012-06-06-LoadOfPHIs.ll
2012-6-7-vselect-bitcast.ll
2012-07-25-LoadPart.ll
2012-07-30-addrsp-bitcast.ll
2012-08-28-udiv_ashl.ll
2012-09-17-ZeroSizedAlloca.ll Require "target datalayout" to be at the beginning of an IR file. 2020-04-20 11:55:49 -07:00
2012-10-25-vector-of-pointers.ll
2012-12-14-simp-vgep.ll
2013-03-05-Combine-BitcastTy-Into-Alloca.ll
AddOverFlow.ll
CPP_min_max.ll
ExtractCast.ll [InstCombine] Transform extelt-trunc -> bitcast-extelt 2020-03-31 11:53:41 +02:00
IntPtrCast.ll
JavaCompare.ll
LandingPadClauses.ll
OverlappingInsertvalues.ll
PR30597.ll
PR37526.ll [InstCombine] Teach removeBitcastsFromLoadStoreOnMinMax not to change the size of a store. 2019-12-16 12:12:54 -08:00
README.txt
abs-1.ll [InstCombine] prevent infinite loop with sub/abs of constant expression 2020-04-15 09:19:16 -04:00
abs-intrinsic.ll [InstCombine] Fold comparison of abs with int min 2020-09-08 20:23:03 +02:00
abs_abs.ll
add-shl-sdiv-to-srem.ll [InstCombine] "X - (X / C) * C == 0" to "X & C-1 == 0" 2020-06-12 10:20:06 +03:00
add-sitofp.ll
add.ll [InstCombine] (A + B) + B --> A + (B << 1) 2020-05-22 11:46:59 -04:00
add2.ll
add3.ll
add4.ll [InstCombine] Support vectors in SimplifyAddWithRemainder. 2020-03-10 14:29:40 +00:00
addnegneg.ll
addrspacecast.ll [InstCombine] don't assume 'inbounds' for bitcast pointer to GEP transform (PR43501) 2019-10-06 13:08:08 +00:00
addsub-constant-folding.ll
adjust-for-minmax.ll Revert "[InstCombine] do not exclude min/max from icmp with casted operand fold" 2020-04-02 09:15:23 -04:00
aggregate-reconstruction.ll [InstCombine] Aggregate reconstruction simplification (PR47060) 2020-08-16 23:27:56 +03:00
alias-recursion.ll
align-2d-gep.ll
align-addr.ll [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
align-attr.ll [InstCombine] Simplify calls with "returned" attribute 2020-03-20 10:23:39 +01:00
align-external.ll
all-bits-shift.ll [InstCombine] Remove ExpensiveCombines option 2020-03-22 16:56:28 +01:00
alloca-big.ll
alloca-cast-debuginfo.ll
alloca.ll
allocsize-32.ll
allocsize.ll
and-compare.ll
and-fcmp.ll
and-narrow.ll
and-or-and.ll
and-or-icmp-min-max.ll [InstCombine] substitute equivalent constant to reduce logic-of-icmps 2020-04-23 10:19:16 -04:00
and-or-icmp-nullptr.ll [InstCombine] substitute equivalent constant to reduce logic-of-icmps 2020-04-23 10:19:16 -04:00
and-or-icmps.ll [InstCombine] updated test comments; NFC 2020-04-26 11:11:00 -04:00
and-or-not.ll
and-or.ll
and-xor-merge.ll [InstCombine] canonicalize 'not' ops before logical shifts 2020-08-22 09:38:13 -04:00
and-xor-or.ll [InstCombine] update stale comments in test files; NFC 2020-08-19 07:42:06 -04:00
and.ll [InstCombine] fold mask op into casted shift (PR46013) 2020-06-07 09:33:18 -04:00
and2.ll [NFC][InstCombine] '(Op1 & С) - Op1' -> '-(Op1 & ~C)' fold (PR44427) 2020-01-03 21:25:48 +03: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
apint-cast-and-cast.ll
apint-cast-cast-to-and.ll
apint-cast.ll Regenerate apint-cast tests and replace %tmp variable names to silence update_test_checks warnings 2020-07-03 11:42:16 +01:00
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 [InstCombine] Add (vXi1 trunc(lshr(x,c))) -> icmp_eq(and(x,c')) support for non-uniform vectors 2020-07-02 16:56:33 +01:00
apint-shl-trunc.ll
apint-sub.ll [NFC][InstCombine] Autogenerate check lines in a few tests 2019-12-05 01:14:03 +03:00
apint-xor1.ll
apint-xor2.ll
ashr-lshr.ll [InstCombine] Fold select (icmp sgt x, -1), lshr (X, Y), ashr (X, Y) to ashr (X, Y)) 2019-07-12 11:31:16 +00:00
assoc-cast-assoc.ll
assume-loop-align.ll
assume-redundant.ll
assume.ll [InstCombine] erase instructions leading up to unreachable 2020-09-07 10:44:08 -04:00
assume2.ll [InstCombine] generalize canonicalization of masked equality comparisons 2020-04-25 11:31:57 -04:00
assume_inevitable.ll [ValueTracking] Improve reverse assumption inference 2019-08-13 17:15:42 +00:00
atomic.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
atomicrmw.ll
badmalloc.ll
bcmp-1.ll
bcopy.ll [InstCombine] Transform bcopy to memmove 2019-10-02 22:49:20 +00:00
binop-cast.ll
bit-checks.ll
bitcast-bigendian.ll
bitcast-bitcast.ll
bitcast-function.ll IR. Change strip* family of functions to not look through aliases. 2019-08-22 19:56:14 +00:00
bitcast-phi-uselistorder.ll [InstCombine] Fix user iterator invalidation in bitcast of phi transform 2020-01-14 20:38:10 +01:00
bitcast-sext-vector.ll
bitcast-store.ll
bitcast-vec-canon.ll [InstCombine] canonicalize bitcast after insertelement into undef 2020-05-10 11:37:47 -04:00
bitcast.ll [InstCombine] visitBitCast(): do not crash on weird `bitcast <1 x i8*> to i8*` 2020-06-25 00:58:53 +03:00
bitreverse-hang.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
bitreverse-known-bits.ll
bittest.ll
branch.ll Re-enable "[InstCombine] Simplify boolean Phis with const inputs using CFG" 2020-07-16 16:09:08 +07:00
broadcast.ll [InstCombine] fold insertelement into splat of same scalar 2019-07-08 19:48:52 +00:00
bswap-fold.ll
bswap-known-bits.ll
bswap.ll [InstCombine] canonicalize shift+logic+shift to reduce dependency chain 2019-11-07 12:09:45 -05:00
builtin-dynamic-object-size.ll [InstCombine] Expand usub_sat patterns to handle constants 2019-11-30 16:58:01 +00:00
builtin-object-size-custom-dl.ll Reland [DataLayout] Fix occurrences that size and range of pointers are assumed to be the same. 2019-12-13 14:30:21 +00:00
builtin-object-size-offset.ll
builtin-object-size-ptr.ll [InstCombine] remove uses before deleting instructions (PR43723) 2020-01-02 09:47:36 -05:00
byval.ll
cabs-array.ll
cabs-discrete.ll
call-callconv.ll
call-cast-attrs.ll
call-cast-target-inalloca.ll
call-cast-target-preallocated.ll Reland [X86] Codegen for preallocated 2020-05-20 11:25:44 -07:00
call-cast-target.ll
call-guard.ll Make Value::getPointerAlignment() return an Align, not a MaybeAlign. 2020-05-20 16:37:20 -07:00
call-intrinsics.ll
call-returned.ll [InstCombine] Simplify calls with casted `returned` attribute 2020-04-16 00:56:00 -05:00
call.ll
call2.ll
call_nonnull_arg.ll
callsite_nonnull_args_through_casts.ll
canonicalize-ashr-shl-to-masking.ll
canonicalize-clamp-like-pattern-between-negative-and-positive-thresholds.ll [InstCombine] Process newly inserted instructions in the correct order 2020-01-30 09:40:10 +01:00
canonicalize-clamp-like-pattern-between-zero-and-positive-threshold.ll [InstCombine] Process newly inserted instructions in the correct order 2020-01-30 09:40:10 +01:00
canonicalize-clamp-with-select-of-constant-threshold-pattern.ll [InstCombine] Try to reuse constant from select in leading comparison 2019-08-24 06:49:25 +00:00
canonicalize-constant-low-bit-mask-and-icmp-eq-to-icmp-ule.ll [InstCombine] make icmp vector canonicalization safe for constant with undef elements 2019-10-29 10:58:14 -04:00
canonicalize-constant-low-bit-mask-and-icmp-ne-to-icmp-ugt.ll [InstCombine] replace undef elements in vector constant when doing icmp folds (PR44383) 2020-01-03 09:16:57 -05:00
canonicalize-constant-low-bit-mask-and-icmp-sge-to-icmp-sle.ll [InstCombine] make icmp vector canonicalization safe for constant with undef elements 2019-10-29 10:58:14 -04:00
canonicalize-constant-low-bit-mask-and-icmp-sgt-to-icmp-sgt.ll [InstCombine] replace undef elements in vector constant when doing icmp folds (PR44383) 2020-01-03 09:16:57 -05:00
canonicalize-constant-low-bit-mask-and-icmp-sle-to-icmp-sle.ll [InstCombine] make icmp vector canonicalization safe for constant with undef elements 2019-10-29 10:58:14 -04:00
canonicalize-constant-low-bit-mask-and-icmp-slt-to-icmp-sgt.ll [InstCombine] replace undef elements in vector constant when doing icmp folds (PR44383) 2020-01-03 09:16:57 -05:00
canonicalize-constant-low-bit-mask-and-icmp-uge-to-icmp-ule.ll [InstCombine] make icmp vector canonicalization safe for constant with undef elements 2019-10-29 10:58:14 -04:00
canonicalize-constant-low-bit-mask-and-icmp-ugt-to-icmp-ugt.ll [InstCombine] replace undef elements in vector constant when doing icmp folds (PR44383) 2020-01-03 09:16:57 -05:00
canonicalize-constant-low-bit-mask-and-icmp-ule-to-icmp-ule.ll [InstCombine] make icmp vector canonicalization safe for constant with undef elements 2019-10-29 10:58:14 -04:00
canonicalize-constant-low-bit-mask-and-icmp-ult-to-icmp-ugt.ll [InstCombine] replace undef elements in vector constant when doing icmp folds (PR44383) 2020-01-03 09:16:57 -05:00
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
canonicalize-selects-icmp-condition-bittest.ll [InstCombine] Always try to invert non-canonical predicate of an icmp 2020-07-04 18:12:04 +03:00
canonicalize-shl-lshr-to-masking.ll
canonicalize-signed-truncation-check.ll
canonicalize_branch.ll
cast-call-combine-prof.ll [Instruction] Remove setProfWeight() 2020-06-04 15:10:55 +07:00
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 [Local] Do not ignore zexts in salvageDebugInfo, PR45923 2020-05-18 09:52:02 -07:00
cast-select.ll [InstCombine] allow more narrowing of casted select 2020-01-27 16:35:50 -05:00
cast-set-preserve-signed-dbg-val.ll
cast-set.ll
cast-unsigned-icmp-eqcmp-0.ll
cast.ll [InstCombine] canEvaluateTruncated - use KnownBits to check for inrange shift amounts 2020-07-03 16:02:10 +01:00
cast_phi.ll [InstCombine] fix operands of shouldChangeType() for casted phi transform 2020-02-04 07:45:48 -05:00
cast_ptr.ll [InstCombine] eliminate a pointer cast around insertelement 2020-08-12 09:08:17 -04:00
ceil.ll
clamp-to-minmax.ll [InstCombine] propagate fast-math-flags (FMF) to select when inverting fcmp+select 2019-11-13 10:38:42 -05:00
cmp-intrinsic.ll
cmp-x-vs-neg-x.ll [InstCombine] (-NSW x) u<= x --> x s<=0 (PR39480) 2020-08-06 11:50:36 +03: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] canonicalize 'not' ops before logical shifts 2020-08-22 09:38:13 -04:00
compare-udiv.ll
compare-unescaped.ll Annotate return values of allocation functions with dereferenceable_or_null 2019-08-28 08:28:20 +00:00
conditional-variable-length-signext-after-high-bit-extract.ll [InstCombine] conditional sign-extend of high-bit-extract: 'or' pattern. 2019-10-20 20:52:06 +00:00
consecutive-fences.ll
constant-expr-datalayout.ll
constant-fold-address-space-pointer.ll
constant-fold-alias.ll
constant-fold-compare.ll
constant-fold-gep.ll
constant-fold-iteration.ll
constant-fold-libfunc.ll [FPEnv] Strict FP tests should use the requisite function attributes. 2019-10-04 17:03:46 +00:00
constant-fold-math.ll
constant-fold-shifts.ll
convergent.ll
copysign.ll [InstCombine] fold copysign with fabs/fneg operand 2020-08-16 08:53:47 -04:00
cos-1.ll [instcombine] remove fsub to fneg hacks; only emit fneg 2020-03-10 16:57:02 +01:00
cos-2.ll
cos-sin-intrinsic.ll Remove BinaryOperator::CreateFNeg 2020-02-27 09:06:03 -08:00
crash.ll
ctlz-cttz-bitreverse.ll
ctpop-bswap-bitreverse.ll
ctpop-cttz.ll [InstCombine] remove one-use check for ctpop -> cttz 2020-03-23 13:59:57 -04:00
ctpop.ll
cttz-abs.ll [InstCombine] Fold cttz of abs intrinsic 2020-09-05 12:25:41 +02:00
cttz-negative.ll
dce-iterate.ll
deadcode.ll
debug-line.ll
debuginfo-dce.ll Wrong debug info generated at -O2 (-O0 is correct) 2019-11-07 11:19:41 -08:00
debuginfo-dce2.ll [llvm] Fix missing FileCheck directive colons 2020-04-06 09:59:08 -06:00
debuginfo-sink.ll
debuginfo-skip.ll
debuginfo-variables.ll
debuginfo.ll
debuginfo_add.ll [DebugInfo] Refactor SalvageDebugInfo and SalvageDebugInfoForDbgValues 2020-06-11 11:13:46 +01:00
default-alignment.ll
demand_shrink_nsw.ll
demorgan-sink-not-into-xor.ll [InstCombine] DCE instructions earlier 2020-02-27 18:45:59 +01:00
demorgan.ll [InstCombine] Process newly inserted instructions in the correct order 2020-01-30 09:40:10 +01:00
deref-alloc-fns.ll [InstCombine] Ensure allocation alignment mask is within range before applying as an attribute 2020-06-09 17:31:55 +01:00
disable-builtin.ll Add -disable-builtin option to opt 2019-11-13 21:32:49 +01:00
disable-simplify-libcalls.ll
distribute.ll [InstCombine] update test checks; NFC 2020-07-30 14:16:48 -04:00
div-shift-crash.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
div-shift.ll
div.ll [InstCombine] Process newly inserted instructions in the correct order 2020-01-30 09:40:10 +01:00
do-not-clone-dbg-declare.ll [Debuginfo][Instcombiner] Do not clone dbg.declare. 2019-09-11 06:07:16 +00:00
dont-distribute-phi.ll [Instcombine] Fix uses of undef (PR46940) 2020-08-11 14:13:32 -07:00
double-float-shrink-1.ll InstCombine: Reduce minnum/maxnum if inputs are casted 2020-04-03 11:57:25 -04:00
double-float-shrink-2.ll [FPEnv] Intrinsic llvm.roundeven 2020-05-26 19:24:58 +07:00
early_constfold_changes_IR.ll
early_dce_clobbers_callgraph.ll
element-atomic-memintrins.ll [InstCombine] Transform to undef incorrect atomic unordered mem intrinsics 2020-03-17 10:20:16 +07:00
enforce-known-alignment.ll
err-rep-cold.ll
exact.ll
exp2-1.ll
exp2-2.ll
extractelement.ll [InstSimplify] remove poison-unsafe insertelement of undef value 2020-05-01 09:22:05 -04:00
extractinsert-tbaa.ll
extractvalue.ll
fabs-copysign.ll [InstCombine] x /c fabs(x) -> copysign(1.0, x) 2019-08-12 13:43:35 +00:00
fabs-libcall.ll
fabs.ll [InstCombine] fold fabs of select with negated operand 2020-08-18 09:23:07 -04:00
fadd-fsub-factor.ll [InstCombine] remove flop from lerp patterns 2019-07-26 11:19:18 +00:00
fadd.ll [instcombine] remove fsub to fneg hacks; only emit fneg 2020-03-10 16:57:02 +01:00
fast-math.ll [instcombine] remove fsub to fneg hacks; only emit fneg 2020-03-10 16:57:02 +01:00
fcmp-select.ll
fcmp-special.ll
fcmp.ll
fdiv-cos-sin.ll
fdiv-sin-cos.ll
fdiv.ll [InstCombine] fold fmul/fdiv with fabs operands 2020-06-25 11:35:38 -04:00
ffs-1.ll
float-shrink-compare.ll [FPEnv] Intrinsic llvm.roundeven 2020-05-26 19:24:58 +07:00
fls.ll
fma.ll [InstCombine] fma x, y, 0 -> fmul x, y 2020-06-30 19:56:37 +01:00
fmul-exp.ll
fmul-exp2.ll
fmul-pow.ll
fmul-sqrt.ll [InstCombine] Transform 1.0/sqrt(X) * X to X/sqrt(X) 2020-09-02 08:23:48 -04:00
fmul.ll [SVE] Make cstfp_pred_ty and cst_pred_ty work with scalable splats 2020-07-14 14:20:39 -07:00
fneg.ll [instcombine] remove fsub to fneg hacks; only emit fneg 2020-03-10 16:57:02 +01:00
fold-bin-operand.ll
fold-calls.ll
fold-fops-into-selects.ll
fold-inc-of-add-of-not-x-and-y-to-sub-x-from-y.ll [InstCombine] (Y + ~X) + 1 --> Y - X fold (PR42459) 2019-07-01 15:55:24 +00:00
fold-phi-load-metadata.ll
fold-phi.ll
fold-sqrt-sqrtf.ll
fold-sub-of-not-to-inc-of-add.ll [InstCombine] Negator - sink sinkable negations 2020-04-21 22:00:23 +03:00
fold-vector-select.ll
fold-vector-zero.ll
fortify-folding.ll Change filecheck default to dump input on failure 2020-06-09 18:57:46 +00:00
fp-ret-bitcast.ll
fpcast.ll Remove BinaryOperator::CreateFNeg 2020-02-27 09:06:03 -08:00
fpextend.ll [InstCombine] improve analysis of FP->int->FP to eliminate fpextend 2020-05-17 09:06:57 -04:00
fpextend_x86.ll
fprintf-1.ll
fptrunc.ll [InstCombine] fold FP trunc into exact itofp 2020-05-24 09:30:19 -04:00
fputs-1.ll
fputs-opt-size.ll
freeze-phi.ll [InstCombine] Fold freeze(undef) into a proper constant 2020-08-06 18:40:04 +09:00
freeze.ll [InstCombine] Fold freeze(undef) into a proper constant 2020-08-06 18:40:04 +09:00
fsh.ll
fsub.ll [InstCombine] reassociate fsub+fadd with FMF to increase adds and throughput 2020-05-26 13:17:15 -04:00
fwrite-1.ll
gc.relocate.ll [Tests] Migrate a number of tests to gc-live bundle representation 2020-06-05 16:44:04 -07:00
gep-addrspace.ll Replace three "strip & accumulate" implementations with a single one 2019-07-11 01:14:48 +00:00
gep-alias.ll IR. Change strip* family of functions to not look through aliases. 2019-08-22 19:56:14 +00:00
gep-combine-loop-invariant.ll
gep-custom-dl.ll Reland [DataLayout] Fix occurrences that size and range of pointers are assumed to be the same. 2019-12-13 14:30:21 +00:00
gep-inbounds-null.ll [InstCombine] canonicalize splat shuffle after cmp 2020-01-29 08:34:29 -05:00
gep-sext.ll
gep-vector.ll [InstCombine] GEPOperator::accumulateConstantOffset does not support scalable vectors 2020-03-18 14:58:46 +00:00
gepgep.ll
gepphigep.ll [InstCombine] Use replaceOperand() API in GEP transforms 2020-03-28 19:07:25 +01:00
getelementptr-folding.ll Require "target datalayout" to be at the beginning of an IR file. 2020-04-20 11:55:49 -07:00
getelementptr.ll [InstCombine] Sanitize undef vector constant to 1 in X*(2^C) with X << C (PR47133) 2020-08-12 22:06:53 +03:00
high-bit-signmask-with-trunc.ll [InstCombine] Negator - sink sinkable negations 2020-04-21 22:00:23 +03:00
high-bit-signmask.ll [InstCombine] Negator - sink sinkable negations 2020-04-21 22:00:23 +03:00
hoist-negation-out-of-bias-calculation-with-constant.ll [NFC][InstCombine] '(Op1 & С) - Op1' -> '-(Op1 & ~C)' fold (PR44427) 2020-01-03 21:25:48 +03:00
hoist-negation-out-of-bias-calculation.ll [NFC][InstCombine] '(X & (- Y)) - X' -> '- (X & (Y - 1))' fold (PR44448) 2020-01-03 20:27:29 +03:00
hoist_instr.ll
icmp-add.ll [InstCombine] Support non-splat vectors in icmp eq + add/sub fold 2020-01-29 20:56:58 +01:00
icmp-bc-vec.ll
icmp-constant-phi.ll Re-enable "[InstCombine] Simplify boolean Phis with const inputs using CFG" 2020-07-16 16:09:08 +07:00
icmp-custom-dl.ll [InstCombine] Avoid modifying instructions in-place 2020-02-08 17:05:56 +01:00
icmp-div-constant.ll [InstCombine] fix operands of shouldChangeType() for casted phi transform 2020-02-04 07:45:48 -05:00
icmp-dom.ll
icmp-logical.ll [InstCombine] regenerate test checks; NFC 2020-04-24 13:51:13 -04:00
icmp-mul-zext.ll [InstCombine] fix miscompile from umul_with_overflow matching 2020-07-04 11:16:23 -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] generalize canonicalization of masked equality comparisons 2020-04-25 11:31:57 -04:00
icmp-range.ll
icmp-shl-nsw.ll
icmp-shl-nuw.ll
icmp-shr-lt-gt.ll [NFC][InstCombine] Autogenerate icmp-shr-lt-gt.ll test 2019-10-04 22:15:49 +00:00
icmp-shr.ll
icmp-sub.ll [InstCombine] Support non-splat vectors in icmp eq + add/sub fold 2020-01-29 20:56:58 +01: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.ll [InstCombine] canonicalize splat shuffle after cmp 2020-01-29 08:34:29 -05:00
icmp-xor-signbit.ll [InstCombine] Use IRBuilder to create bitcast 2020-03-04 18:28:38 +01:00
icmp.ll [InstCombine] move/add tests for icmp with mul operands; NFC 2020-09-07 12:40:37 -04:00
icmp_sdiv_with_and_without_range.ll
idioms.ll
indexed-gep-compares.ll Return "[InstCombine] Simplify compare of Phi with constant inputs against a constant" 2020-06-17 11:38:59 +01:00
infinite-loop-postdom.ll DomTree: Make PostDomTree indifferent to block successors swap 2020-08-05 14:26:32 +07:00
inline-intrinsic-assert.ll
inselt-binop.ll
insert-const-shuf.ll
insert-extract-shuffle.ll [InstCombine] Sink pure instructions down to return and unreachable blocks 2020-05-22 14:33:42 +07:00
insert-val-extract-elem.ll
insertelement-bitcast.ll
int_sideeffect.ll
intersect-accessgroup.ll
intptr1.ll [llvm] Fix missing FileCheck directive colons 2020-04-06 09:59:08 -06:00
intptr2.ll
intptr3.ll
intptr4.ll
intptr5.ll
intptr6.ll
intptr7.ll
intptr8.ll [WinEH] Fix inttoptr+phi optimization in presence of catchswitch 2020-03-01 07:49:28 -08:00
intrinsics.ll
invariant.group.ll [EarlyCSE] Verify hash code in regression tests 2020-09-04 10:40:35 -04:00
invariant.ll
invert-variable-mask-in-masked-merge-scalar.ll
invert-variable-mask-in-masked-merge-vector.ll
invoke.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
isascii-1.ll
isdigit-1.ll
ispow2.ll [InstCombine] reduce more checks for power-of-2-or-zero using ctpop 2019-07-01 22:00:00 +00:00
known-bits.ll [InstCombine] Remove ExpensiveCombines option 2020-03-22 16:56:28 +01:00
known-never-nan.ll
known-non-zero.ll [ValueTracking] Allow context-sensitive nullness check for non-pointers 2019-12-09 15:15:52 -06:00
known-signbit-shift.ll [InstCombine] Remove ExpensiveCombines option 2020-03-22 16:56:28 +01:00
known_align.ll
lifetime-no-null-opt.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
lifetime-sanitizer.ll msan, codegen, instcombine: Keep more lifetime markers used for msan 2019-08-26 22:15:50 +00:00
lifetime.ll [InstCombine] Remove trivially empty ranges from end 2020-02-26 20:04:11 +01:00
limit-max-iterations.ll [InstCombine] Change limit-max-iterations test case; NFC 2020-03-28 18:25:20 +01:00
load-bitcast-select.ll
load-bitcast-vec.ll [InstCombine] don't assume 'inbounds' for bitcast deref or null pointer in non-default address space 2019-10-13 17:19:08 +00:00
load-bitcast32.ll
load-bitcast64.ll [InstCombine] Let combineLoadToNewType preserve ABI alignment of the load (PR44543) 2020-01-15 03:20:53 +09:00
load-cmp.ll [InstCombine] generalize canonicalization of masked equality comparisons 2020-04-25 11:31:57 -04: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-insert-store.ll [NFC] Add test for load-insert-store pattern 2019-12-30 16:14:37 +08:00
load-select.ll
load.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
load3.ll
load_combine_aa.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
loadstore-alignment.ll
loadstore-metadata.ll
log-pow-nofastmath.ll
log-pow.ll [InstCombine] Add test case for PR43617 (NFC) 2019-10-10 21:29:10 +00:00
logical-select.ll [InstCombine] Always try to invert non-canonical predicate of an icmp 2020-07-04 18:12:04 +03:00
lower-dbg-declare.ll [Debuginfo][SROA] Need to handle dbg.value in SROA pass. 2019-09-04 14:19:49 +00:00
lshr-and-negC-icmpeq-zero.ll [InstCombine] Fold icmp eq/ne (and %x, C), 0 iff (-C) is power of two -> %x u</u>= (-C) earlier. 2019-06-25 00:09:10 +00:00
lshr-and-signbit-icmpeq-zero.ll
lshr-phi.ll
lshr.ll [InstCombine] Duplicate some InstSimplify tests (NFC) 2020-05-03 12:49:36 +02:00
malloc-free-delete-dbginvar.ll [InstCombine] Fix debug variance issue in tryToMoveFreeBeforeNullTest 2020-04-13 10:55:17 -07:00
malloc-free-delete.ll [InstCombine] Don't let an alignment assume prevent new/delete removals. 2020-07-01 09:22:32 -07:00
masked-merge-add.ll
masked-merge-and-of-ors.ll
masked-merge-or.ll
masked-merge-xor.ll
masked_intrinsics.ll Make Value::getPointerAlignment() return an Align, not a MaybeAlign. 2020-05-20 16:37:20 -07:00
max-of-nots.ll [ValueTracking] enhance matching of umin/umax with 'not' operands 2020-04-06 11:51:59 -04:00
max_known_bits.ll
maximum.ll [InstCombine] intersect FMF when reassociating FP min/max intrinsics 2020-04-24 12:14:03 -04:00
maxnum.ll [InstCombine] intersect FMF when reassociating FP min/max intrinsics 2020-04-24 12:14:03 -04:00
mem-deref-bytes-addrspaces.ll [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
mem-deref-bytes.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
mem-gep-zidx.ll [InstCombine] fold gep-of-select-of-constants (PR45084) 2020-03-10 09:25:13 -04:00
mem-par-metadata-memcpy.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
memccpy.ll [InstCombine] Optimize some memccpy calls to memcpy/null 2019-11-26 10:54:47 +01:00
memchr.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
memcmp-1.ll
memcmp-2.ll
memcmp-constant-fold.ll [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
memcpy-1.ll [FPEnv] Strict FP tests should use the requisite function attributes. 2019-10-04 17:03:46 +00:00
memcpy-2.ll
memcpy-addrspace.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
memcpy-from-global.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
memcpy-to-load.ll [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
memcpy.ll [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
memcpy_chk-1.ll [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
memcpy_chk-2.ll
memmove-1.ll
memmove-2.ll
memmove.ll [BuildLibCalls] Noalias annotation 2019-08-14 16:50:06 +00:00
memmove_chk-1.ll [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
memmove_chk-2.ll
mempcpy.ll [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
memrchr.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
memset-1.ll [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
memset-2.ll
memset.ll [InstCombine] don't assume 'inbounds' for bitcast pointer to GEP transform (PR43501) 2019-10-06 13:08:08 +00:00
memset2.ll
memset_chk-1.ll [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
memset_chk-2.ll
merge-icmp.ll
merging-multiple-stores-into-successor.ll [InstCombine] Take 3: Perform trivial PHI CSE 2020-08-29 18:21:24 +03:00
min-positive.ll
minimum.ll [InstCombine] intersect FMF when reassociating FP min/max intrinsics 2020-04-24 12:14:03 -04:00
minmax-demandbits.ll
minmax-fold.ll [InstCombine] Fix store merge worklist management (PR46680) 2020-07-19 15:05:45 +02:00
minmax-fp.ll Remove BinaryOperator::CreateFNeg 2020-02-27 09:06:03 -08:00
minmax-intrinsics.ll [ValueTracking] Compute known bits of min/max intrinsics 2020-09-08 21:08:17 +02:00
minmax-of-minmax.ll [InstCombine] simplify min/max of min/max with same operands (PR35607) 2019-08-20 13:39:17 +00:00
minnum.ll [InstCombine] intersect FMF when reassociating FP min/max intrinsics 2020-04-24 12:14:03 -04:00
misc-2002.ll
mul-masked-bits.ll
mul.ll [InstCombine] Fold mul of abs intrinsic 2020-09-05 12:37:45 +02:00
multi-size-address-space-pointer.ll
multi-use-load-casts.ll [NFC][InstCombine] Add test with non-CSE'd casts of load 2020-03-03 11:27:27 +03:00
multi-use-or.ll
multiple-uses-load-bitcast-select.ll
musttail-thunk.ll
narrow-math.ll
narrow-switch.ll
narrow.ll
no-negzero.ll
no_cgscc_assert.ll
no_sink_instruction.ll
non-integral-pointers.ll
nonnull-attribute.ll
not-add.ll [InstCombine] ~(~X + Y) -> X - Y 2020-08-11 11:05:42 +02:00
not.ll [InstCombine] try to pull 'not' of select into compare operands 2020-01-07 10:44:23 -05:00
nothrow.ll
nsw.ll [ValueTracking] Handle shufflevector constants in ComputeNumSignBits 2020-04-23 17:47:37 -07:00
obfuscated_splat.ll
objsize-64.ll [NFC] Updated objsize-64.ll test 2019-09-11 10:51:26 +00:00
objsize-address-space.ll
objsize-noverify.ll
objsize.ll [InstCombine] Annotate strndup calls with dereferenceable_or_null 2019-09-23 19:55:45 +00:00
odr-linkage.ll
omit-urem-of-power-of-two-or-zero-when-comparing-with-zero.ll [InstCombine] Omit 'urem' where possible 2019-07-01 09:41:43 +00:00
onehot_merge.ll [InstCombine][NFCI] Add more test coverage to onehot_merge.ll 2019-07-11 21:28:25 +00:00
opaque.ll
operand-complexity.ll [instcombine] remove fsub to fneg hacks; only emit fneg 2020-03-10 16:57:02 +01:00
or-concat.ll [InstCombine] Add vector tests for the or(shl(zext(x),32)|zext(y)) concat combines 2020-05-13 18:48:02 +01:00
or-fcmp.ll
or-shifted-masks.ll
or-xor.ll [InstCombine] prefer xor with -1 because 'not' is easier to understand (PR32706) 2020-08-12 15:50:33 -04:00
or.ll [InstCombine] prevent infinite looping in or-icmp fold (PR46712) 2020-07-15 14:12:12 -04:00
osx-names.ll
out-of-bounds-indexes.ll [InstCombine] Remove ExpensiveCombines option 2020-03-22 16:56:28 +01:00
overflow-mul.ll Require "target datalayout" to be at the beginning of an IR file. 2020-04-20 11:55:49 -07:00
overflow.ll [InstCombine] Sink pure instructions down to return and unreachable blocks 2020-05-22 14:33:42 +07:00
overflow_to_sat.ll [InstCombine] Canonicalize ssub.with.overflow with clamp to ssub.sat 2019-11-17 10:45:11 +00:00
partally-redundant-left-shift-input-masking-after-truncation-variant-a.ll [InstCombine] dropRedundantMaskingOfLeftShiftInput(): truncation (PR42563) 2019-11-05 12:41:26 +03:00
partally-redundant-left-shift-input-masking-after-truncation-variant-b.ll [InstCombine] dropRedundantMaskingOfLeftShiftInput(): truncation (PR42563) 2019-11-05 12:41:26 +03:00
partally-redundant-left-shift-input-masking-after-truncation-variant-c.ll [InstCombine] dropRedundantMaskingOfLeftShiftInput(): truncation (PR42563) 2019-11-05 12:41:26 +03:00
partally-redundant-left-shift-input-masking-after-truncation-variant-d.ll [InstCombine] dropRedundantMaskingOfLeftShiftInput(): truncation (PR42563) 2019-11-05 12:41:26 +03:00
partally-redundant-left-shift-input-masking-after-truncation-variant-e.ll [InstCombine] dropRedundantMaskingOfLeftShiftInput(): truncation (PR42563) 2019-11-05 12:41:26 +03:00
partally-redundant-left-shift-input-masking-variant-a.ll [InstCombine] dropRedundantMaskingOfLeftShiftInput(): propagate undef shift amounts 2019-10-07 20:52:52 +00:00
partally-redundant-left-shift-input-masking-variant-b.ll [InstCombine] dropRedundantMaskingOfLeftShiftInput(): propagate undef shift amounts 2019-10-07 20:52:52 +00:00
partally-redundant-left-shift-input-masking-variant-c.ll [InstCombine] dropRedundantMaskingOfLeftShiftInput(): propagate undef shift amounts 2019-10-07 20:52:52 +00:00
partally-redundant-left-shift-input-masking-variant-d.ll [InstCombine] dropRedundantMaskingOfLeftShiftInput(): propagate undef shift amounts 2019-10-07 20:52:52 +00:00
partally-redundant-left-shift-input-masking-variant-e.ll [InstCombine] dropRedundantMaskingOfLeftShiftInput(): propagate undef shift amounts 2019-10-07 20:52:52 +00: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-known-bits-operand-order.ll [ValueTracking] Fix recurrence detection to check both PHI operands. 2019-08-16 09:15:02 +00:00
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-preserve-ir-flags.ll [InstCombine] Regenerate phi-preserve-ir-flags.ll test checks to fix issue reported on D77354 2020-04-08 18:13:24 +01:00
phi-select-constant.ll
phi-shifts.ll [InstCombine] Remove ExpensiveCombines option 2020-03-22 16:56:28 +01:00
phi-timeout.ll
phi.ll Re-enable "[InstCombine] Simplify boolean Phis with const inputs using CFG" 2020-07-16 16:09:08 +07:00
pow-0.ll [InstCombine] pow(x, +/- 0.0) -> 1.0 2019-09-06 16:26:59 +00:00
pow-1.ll [SLC] Allow llvm.pow(x,2.0) -> x*x etc even if no pow() lib func 2020-05-04 10:54:07 +01:00
pow-2.ll
pow-3.ll [SLC] Allow llvm.pow(x,2.0) -> x*x etc even if no pow() lib func 2020-05-04 10:54:07 +01:00
pow-4.ll [SimplifyLibCalls] handle pow(x,-0.0) before it can assert (PR43233) 2019-09-06 16:10:18 +00:00
pow-cbrt.ll
pow-exp-nofastmath.ll
pow-exp.ll [InstCombine] Remove hasNoInfs check for pow(C,y) -> exp2(log2(C)*y) 2020-05-19 17:06:05 +01:00
pow-sqrt.ll [SimplifyLibCalls] require fast-math-flags for pow(X, -0.5) transforms 2019-12-21 10:00:53 -05:00
pow_fp_int.ll [InstCombine] Erase attribute lists for simplified libcalls 2020-07-13 22:32:33 +00:00
pr2645-0.ll
pr2996.ll
pr12251.ll
pr12338.ll
pr14365.ll [InstCombine] Add PR14365 test cases + vector equivalents. 2020-02-27 15:54:14 +00:00
pr17827.ll [InstCombine] Simplify icmp ult/uge (shl %x, C2), C1 iff C1 is power of two -> icmp eq/ne (and %x, (lshr -C1, C2)), 0. 2019-06-25 20:44:52 +00:00
pr19420.ll Regenerate PR19420 tests 2020-07-03 10:04:37 +01:00
pr20079.ll
pr20678.ll
pr21199.ll
pr21210.ll
pr21651.ll
pr21891.ll
pr23751.ll
pr23809.ll
pr24354.ll
pr24605.ll
pr25342.ll [InstCombine] Regenerate test checks; NFC 2020-01-29 18:22:07 +01:00
pr25745.ll
pr26992.ll [InstCombine] Fix incorrect inbounds on GEP of GEP (PR44425) 2020-01-01 22:10:55 +01:00
pr26993.ll
pr27236.ll
pr27332.ll
pr27343.ll
pr27703.ll
pr27996.ll
pr28143.ll
pr28725.ll
pr30929.ll
pr31990_wrong_memcpy.ll
pr32686.ll
pr33453.ll
pr33689_same_bitwidth.ll [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
pr38915.ll [InstCombine] Process newly inserted instructions in the correct order 2020-01-30 09:40:10 +01:00
pr38984.ll
pr39177.ll IR. Change strip* family of functions to not look through aliases. 2019-08-22 19:56:14 +00:00
pr39908.ll
pr41164.ll
pr43081.ll Check result of emitStrLen before passing it to CreateGEP 2019-11-14 08:04:36 +01:00
pr43376-getFlippedStrictnessPredicateAndConstant-assert.ll [InstCombine] Don't assume CmpInst has been visited in getFlippedStrictnessPredicateAndConstant 2019-09-26 12:16:01 +00:00
pr43893.ll Reapply: [DebugInfo] Correctly handle salvaged casts and split fragments at ISel 2019-12-18 16:26:42 +00:00
pr44242.ll [InstCombine] Don't rewrite phi-of-bitcast when the phi has other users 2019-12-31 12:15:02 +01:00
pr44245.ll [InstCombine] Don't simplify calls without uses 2020-03-09 18:47:46 +01:00
pr44541.ll [InstCombine] Remove ExpensiveCombines option 2020-03-22 16:56:28 +01:00
pr44552.ll [InstCombine] Fix worklist management in DSE (PR44552) 2020-01-17 18:10:56 +01:00
pr44835.ll [InstCombine] Fix infinite loop in min/max load/store bitcast combine (PR44835) 2020-02-08 16:55:22 +01:00
pr46680.ll [InstCombine] Fix store merge worklist management (PR46680) 2020-07-19 15:05:45 +02:00
prefetch-load.ll
preserve-sminmax.ll
preserved-analyses.ll
prevent-cmp-merge.ll
printf-1.ll [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
printf-2.ll [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
printf-3.ll
ptr-int-cast.ll
pull-binop-through-shift.ll
pull-conditional-binop-through-shift.ll
puts-1.ll [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
range-check.ll
readnone-maythrow.ll
realloc.ll Annotate return values of allocation functions with dereferenceable_or_null 2019-08-28 08:28:20 +00:00
reassociate-nuw.ll InstCombine: Preserve nuw when reassociating nuw ops [3/3] 2019-06-24 21:37:03 +00:00
redundant-left-shift-input-masking-after-truncation-variant-a.ll [InstCombine] dropRedundantMaskingOfLeftShiftInput(): truncation (PR42563) 2019-11-05 12:41:26 +03:00
redundant-left-shift-input-masking-after-truncation-variant-b.ll [InstCombine] dropRedundantMaskingOfLeftShiftInput(): truncation (PR42563) 2019-11-05 12:41:26 +03:00
redundant-left-shift-input-masking-after-truncation-variant-c.ll [InstCombine] dropRedundantMaskingOfLeftShiftInput(): truncation (PR42563) 2019-11-05 12:41:26 +03:00
redundant-left-shift-input-masking-after-truncation-variant-d.ll [InstCombine] dropRedundantMaskingOfLeftShiftInput(): truncation (PR42563) 2019-11-05 12:41:26 +03:00
redundant-left-shift-input-masking-after-truncation-variant-e.ll [InstCombine] dropRedundantMaskingOfLeftShiftInput(): truncation (PR42563) 2019-11-05 12:41:26 +03:00
redundant-left-shift-input-masking-after-truncation-variant-f.ll [InstCombine] dropRedundantMaskingOfLeftShiftInput(): truncation (PR42563) 2019-11-05 12:41:26 +03:00
redundant-left-shift-input-masking-variant-a.ll [NFC][InstCombine] More tests for "Dropping pointless masking before left shift" (PR42563) 2019-09-17 19:32:11 +00:00
redundant-left-shift-input-masking-variant-b.ll [NFC][InstCombine] More tests for "Dropping pointless masking before left shift" (PR42563) 2019-09-17 19:32:11 +00:00
redundant-left-shift-input-masking-variant-c.ll [NFC][InstCombine] More tests for PR42563 "Dropping pointless masking before left shift" 2019-09-18 18:38:32 +00:00
redundant-left-shift-input-masking-variant-d.ll [NFC][InstCombine] More tests for PR42563 "Dropping pointless masking before left shift" 2019-09-18 18:38:32 +00:00
redundant-left-shift-input-masking-variant-e.ll [NFC][InstCombine] More tests for PR42563 "Dropping pointless masking before left shift" 2019-09-18 18:38:32 +00:00
redundant-left-shift-input-masking-variant-f.ll [NFC][InstCombine] More tests for PR42563 "Dropping pointless masking before left shift" 2019-09-18 18:38:32 +00:00
redundant-right-shift-input-masking.ll [NFC][InstCombine] Redundant masking before left-shift (PR42563) 2019-07-10 15:08:06 +00:00
rem.ll [InstCombine] Fold "x ?% y ==/!= 0" to "x & (y-1) ==/!= 0" iff y is power-of-two 2019-07-30 15:28:22 +00:00
result-of-add-of-negative-is-non-zero-and-no-underflow.ll [InstCombine] (a+b) < a && (a+b) != 0 -> (0-b) < a iff a/b != 0 (PR43259) 2019-09-24 16:10:50 +00:00
result-of-add-of-negative-or-zero-is-non-zero-and-no-underflow.ll [InstCombine] (a+b) <= a && (a+b) != 0 -> (0-b) < a (PR43259) 2019-09-24 16:10:38 +00:00
result-of-usub-is-non-zero-and-no-overflow.ll [InstCombine] foldUnsignedUnderflowCheck(): one last pattern with 'sub' (PR43251) 2019-09-25 22:59:59 +00:00
reuse-constant-from-select-in-icmp.ll [InstCombine] make icmp vector canonicalization safe for constant with undef elements 2019-10-29 10:58:14 -04:00
rotate.ll [InstCombine] allow peeking through zext of shift amount to match rotate idioms (PR45701) 2020-07-20 16:18:11 -04:00
sadd-with-overflow.ll
sadd_sat.ll [InstCombine] Signed saturation patterns 2019-10-22 15:39:47 +00:00
salvage-dbg-declare.ll
saturating-add-sub.ll [InstCombine] usub.sat(a, b) + b => umax(a, b) (PR42178) 2020-08-28 21:52:29 +02:00
scalarization.ll
sdiv-1.ll
sdiv-2.ll
sdiv-canonicalize.ll [InstCombine] fold abs(X)/X to cmp+select 2020-08-17 08:01:28 -04:00
sdiv-exact-by-negative-power-of-two.ll [InstCombine] Fold sdiv exact X, -1<<C --> -(ashr exact X, C) 2020-08-06 23:37:16 +03:00
sdiv-exact-by-power-of-two.ll [InstCombine] Generalize sdiv exact X, 1<<C --> ashr exact X, C fold to handle non-splat vectors 2020-08-06 23:37:15 +03:00
sdiv-guard.ll
sdiv-of-non-negative-by-negative-power-of-two.ll [InstCombine] Fold X sdiv (-1 << C) -> -(X u>> Y) iff X is non-negative 2020-07-17 22:50:09 +03:00
select-2.ll
select-binop-cmp.ll
select-bitext-bitwise-ops.ll [InstCombine] fold cmp+select using select operand equivalence 2019-08-02 17:39:32 +00:00
select-bitext.ll [InstCombine] add one-use check to cast+select narrowing transform 2020-07-03 11:54:09 -04:00
select-cmp-br.ll [InstCombine] Process newly inserted instructions in the correct order 2020-01-30 09:40:10 +01:00
select-cmp-cttz-ctlz.ll [InstCombine] Fix multi-use handling in cttz transform 2020-02-18 17:55:00 +01:00
select-cmpxchg.ll
select-crash-noverify.ll
select-crash.ll [IRBuilder] Update IRBuilder::CreateFNeg(...) to return a UnaryOperator 2019-10-14 15:35:01 +00:00
select-ctlz-to-cttz.ll [InstCombine] add one-use check to cast+select narrowing transform 2020-07-03 11:54:09 -04:00
select-extractelement.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
select-gep.ll
select-icmp-and.ll
select-imm-canon.ll [InstCombine] DCE instructions earlier 2020-02-27 18:45:59 +01:00
select-load-call.ll
select-obo-peo-ops.ll [InstCombine] fold cmp+select using select operand equivalence 2019-08-02 17:39:32 +00:00
select-of-bittest.ll
select-pr39595.ll [InstCombine] Process newly inserted instructions in the correct order 2020-01-30 09:40:10 +01:00
select-select.ll [InstCombine] avoid crashing on select-shuffle detection 2020-06-04 17:27:14 -04:00
select-with-bitwise-ops.ll [InstCombine] Always try to invert non-canonical predicate of an icmp 2020-07-04 18:12:04 +03:00
select.ll [InstCombine] Take 3: Perform trivial PHI CSE 2020-08-29 18:21:24 +03:00
select_arithmetic.ll [InstCombine] Add a TODO comment 2019-08-07 15:18:34 +00:00
select_meta.ll Revert "[InstCombine] do not exclude min/max from icmp with casted operand fold" 2020-04-02 09:15:23 -04:00
set-lowbits-mask-canonicalize.ll
set.ll
setcc-strength-reduce.ll
sext.ll [InstCombine] Add sext(ashr(shl(trunc(x),c),c)) folding support for vectors 2020-07-03 10:04:37 +01:00
shift-add.ll [ValueTracking] Add DemandedElts support to computeKnownBits/ComputeNumSignBits (PR36319) 2020-02-01 12:45:46 +00:00
shift-amount-reassociation-in-bittest-with-truncation-lshr.ll [InstCombine] Shift amount reassociation in bittest: trunc-of-lshr (PR42399) 2019-08-29 10:26:23 +00:00
shift-amount-reassociation-in-bittest-with-truncation-shl.ll [InstCombine] Shift amount reassociation in bittest: trunc-of-lshr (PR42399) 2019-08-29 10:26:23 +00:00
shift-amount-reassociation-in-bittest.ll [InstCombine] foldShiftIntoShiftInAnotherHandOfAndInICmp(): fix miscompile (PR44802) 2020-02-25 18:23:58 +03:00
shift-amount-reassociation-with-truncation-ashr.ll [NFC][InstCombine] More test for "sign bit test via shifts" pattern (PR43595) 2019-10-13 17:11:16 +00:00
shift-amount-reassociation-with-truncation-lshr.ll [NFC][InstCombine] More test for "sign bit test via shifts" pattern (PR43595) 2019-10-13 17:11:16 +00:00
shift-amount-reassociation-with-truncation-shl.ll [InstCombine] Fix typo in comment. 2020-07-17 20:57:45 +01:00
shift-amount-reassociation.ll [InstCombine] reassociateShiftAmtsOfTwoSameDirectionShifts(): fix miscompile (PR44802) 2020-02-25 18:23:51 +03:00
shift-by-signext.ll [InstCombine] Simplify shift-by-sext to shift-by-zext 2019-09-27 18:12:15 +00:00
shift-direction-in-bit-test.ll [NFC][InstCombine] More commutative tests for "shift direction in bittest" (PR42466) 2019-07-01 20:33:56 +00:00
shift-logic.ll [InstCombine] prevent crashing/assert on shift constant expression (PR44028) 2019-11-17 17:31:09 -05:00
shift-shift.ll [InstCombine] Duplicate some InstSimplify tests (NFC) 2020-05-03 12:49:36 +02:00
shift-sra.ll
shift.ll [InstCombine] Always try to invert non-canonical predicate of an icmp 2020-07-04 18:12:04 +03:00
shl-and-negC-icmpeq-zero.ll [InstCombine] Fold icmp eq/ne (and %x, C), 0 iff (-C) is power of two -> %x u</u>= (-C) earlier. 2019-06-25 00:09:10 +00:00
shl-and-signbit-icmpeq-zero.ll
shl-sub.ll
shl-unsigned-cmp-const.ll [InstCombine] Simplify icmp ult/uge (shl %x, C2), C1 iff C1 is power of two -> icmp eq/ne (and %x, (lshr -C1, C2)), 0. 2019-06-25 20:44:52 +00:00
should-change-type.ll
shuffle-cast.ll [InstCombine] convert bitcast-shuffle to vector trunc 2020-04-05 09:48:02 -04:00
shuffle-select-narrow.ll
shuffle_select.ll [InstCombine] remove identity shuffle simplification for mask with undefs 2019-11-24 10:06:26 -05:00
shufflevec-bitcast.ll [InstCombine] try to reduce more shuffles with bitcasted operand 2020-04-14 15:03:59 -04:00
shufflevec-constant.ll
shufflevector-div-rem.ll [InstCombine] Fix miscompile bug in canEvaluateShuffled 2019-10-18 07:42:02 +00:00
sign-bit-test-via-right-shifting-all-other-bits.ll [InstCombine] Shift amount reassociation in shifty sign bit test (PR43595) 2019-10-20 19:38:50 +00:00
sign-test-and-or.ll
signbit-lshr-and-icmpeq-zero.ll [InstCombine][NFCI] Fix test comments. 2019-06-27 05:46:06 +00:00
signbit-shl-and-icmpeq-zero.ll [InstCombine][NFCI] Fix test comments. 2019-06-27 05:46:06 +00:00
signed-comparison.ll
signed-truncation-check.ll
signext.ll
simple_phi_condition.ll Re-enable "[InstCombine] Simplify boolean Phis with const inputs using CFG" 2020-07-16 16:09:08 +07:00
simplify-demanded-bits-pointer.ll
simplify-libcalls-erased.ll
simplify-libcalls.ll [InstCombine] Erase attribute lists for simplified libcalls 2020-07-13 22:32:33 +00:00
sincospi.ll
sink-alloca.ll [ValueTracking] Pointer is known nonnull after load/store 2019-12-11 20:32:29 +01:00
sink-into-catchswitch.ll
sink_instruction.ll
sink_to_unreachable.ll [InstCombine] Sink pure instructions down to return and unreachable blocks 2020-05-22 14:33:42 +07:00
sitofp.ll [InstCombine] add tests for known bits before FP casts; NFC 2020-05-08 13:44:32 -04:00
smax-icmp.ll
smin-icmp.ll
snprintf.ll [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
sprintf-1.ll Reland "[SLC] sprintf(dst, "%s", str) -> strcpy(dst, str)" 2020-08-15 12:14:57 +02:00
sprintf-void.ll
sqrt-nofast.ll
sqrt.ll [SimplifyLibCalls] fix crash with empty function name (PR43347) 2019-09-18 14:33:40 +00:00
srem-canonicalize.ll
srem-simplify-bug.ll
srem-via-sdiv-mul-sub.ll [NFC][InstCombine] Tests for 'rem' formation from sub-of-mul-by-'div' (PR42673) 2019-07-19 11:29:18 +00:00
srem1.ll
ssub-with-overflow.ll
stack-overalign.ll
stacksave-debuginfo.ll Wrong debug info generated at -O2 (-O0 is correct) 2019-11-07 11:19:41 -08:00
stacksaverestore.ll
statepoint-iter.ll [InstCombine] Remove unused entries in gc-live bundle of statepoint 2020-08-22 01:36:22 +07:00
statepoint.ll [Tests] Migrate a number of tests to gc-live bundle representation 2020-06-05 16:44:04 -07:00
stdio-custom-dl.ll Reland [DataLayout] Fix occurrences that size and range of pointers are assumed to be the same. 2019-12-13 14:30:21 +00:00
store-load-unaliased-gep.ll
store.ll StoreInst should store Align, not MaybeAlign 2020-05-15 12:26:58 -07:00
storemerge-dbg.ll StoreInst should store Align, not MaybeAlign 2020-05-15 12:26:58 -07:00
stpcpy-1.ll [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
stpcpy-2.ll
stpcpy_chk-1.ll [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
stpcpy_chk-2.ll
str-int-2.ll
str-int.ll
strcat-1.ll
strcat-2.ll
strcat-3.ll
strchr-1.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
strchr-2.ll
strcmp-1.ll [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
strcmp-2.ll
strcmp-memcmp.ll [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
strcpy-1.ll [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
strcpy-2.ll
strcpy_chk-1.ll [InstCombine] Simplify calls with "returned" attribute 2020-03-20 10:23:39 +01:00
strcpy_chk-2.ll
strcpy_chk-64.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
strcspn-1.ll [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
strcspn-2.ll
strict-sub-underflow-check-to-comparison-of-sub-operands.ll [InstCombine] Fold (A - B) u>=/u< A --> B u>/u<= A iff B != 0 2019-09-25 19:06:40 +00:00
strlen-1.ll [SimplifyLibCalls] Remove over-eager early return in strlen optzns. 2020-08-27 15:19:45 +01:00
strlen-2.ll
strlen_chk.ll [SimplifyLibCalls] Add __strlen_chk. 2020-02-08 11:51:00 -08:00
strncat-1.ll
strncat-2.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
strncat-3.ll [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
strncmp-1.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
strncmp-2.ll [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
strncmp-wrong-datalayout.ll
strncpy-1.ll [Tests] Update strncpy tests 2020-08-13 22:37:44 +02:00
strncpy-2.ll [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
strncpy-3.ll [SLC] Transform strncpy(dst, "text", C) to memcpy(dst, "text\0\0\0", C) for C <= 128 only 2020-08-15 01:53:32 +02:00
strncpy_chk-1.ll [InstCombine] Simplify calls with "returned" attribute 2020-03-20 10:23:39 +01:00
strncpy_chk-2.ll
strndup.ll [InstCombine] Annotate strndup calls with dereferenceable_or_null 2019-09-23 19:55:45 +00:00
strpbrk-1.ll [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
strpbrk-2.ll
strrchr-1.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
strrchr-2.ll
strspn-1.ll
strstr-1.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
strstr-2.ll
strto-1.ll
struct-assign-tbaa-new.ll
struct-assign-tbaa.ll
sub-and-or-neg-xor.ll [NFC] Adjust test filename 2019-09-04 17:33:53 +00:00
sub-ashr-and-to-icmp-select.ll [InstCombine] DCE instructions earlier 2020-02-27 18:45:59 +01:00
sub-ashr-or-to-icmp-select.ll [InstCombine] DCE instructions earlier 2020-02-27 18:45:59 +01:00
sub-gep.ll [InstCombine] improve fold of pointer differences 2020-09-07 15:54:32 -04:00
sub-minmax.ll [InstCombine] Process newly inserted instructions in the correct order 2020-01-30 09:40:10 +01:00
sub-not.ll
sub-of-negatible.ll [InstCombine] Negator: freeze is freely negatible if it's operand is negatible 2020-08-23 23:28:19 +03:00
sub-or-and-xor.ll [NFC] Adjust tests for new fold 2019-09-04 12:22:28 +00:00
sub-xor-or-neg-and.ll [InstCombine] sub(xor(x, y), or(x, y)) -> neg(and(x, y)) 2019-09-04 18:03:21 +00:00
sub-xor.ll
sub.ll [InstCombine] improve fold of pointer differences 2020-09-07 15:54:32 -04:00
subtract-from-one-hand-of-select.ll [InstCombine] Sink sub into hands of select if one hand becomes zero. Part 2 (PR44426) 2020-01-04 17:30:51 +03:00
subtract-of-one-hand-of-select.ll [NFC][InstCombine] 'subtract from one hands of select' pattern tests (PR44426) 2020-01-04 17:30:51 +03:00
switch-constant-expr.ll
switch-truncate-crash.ll
tan-nofastmath.ll
tan.ll
tbaa-store-to-load.ll
toascii-1.ll
token.ll [Tests] Switch a few statepoint tests to using operand bundles 2020-05-28 14:36:05 -07:00
trunc-binop-ext.ll [InstCombine] Try to narrow expr if trunc cannot be removed. 2020-07-03 20:22:51 +01:00
trunc-extractelement.ll [InstCombine] Transform extelt-trunc -> bitcast-extelt 2020-03-31 11:53:41 +02:00
trunc-load.ll Revert "[InstCombine] try to narrow a truncated load" 2019-07-25 15:37:57 +00:00
trunc.ll [InstCombine] canEvaluateTruncated - use KnownBits to check for inrange shift amounts 2020-07-03 16:02:10 +01:00
type_pun.ll
uadd-with-overflow.ll
uaddo.ll
udiv-pow2-vscale.ll [SVE] Fix invalid usage of getNumElements() in InstCombineMulDivRem 2020-05-05 15:19:01 -07:00
udiv-simplify.ll
udiv_select_to_select_shift.ll
udivrem-change-width.ll
umax-icmp.ll
umin-icmp.ll
umul-sign-check.ll [InstCombine] Simplify a umul overflow check to a != 0 && b != 0. 2020-02-18 09:11:55 +01:00
unavailable-debug.ll Reapply: [DebugInfo] Correctly handle salvaged casts and split fragments at ISel 2019-12-18 16:26:42 +00:00
unfold-masked-merge-with-const-mask-scalar.ll
unfold-masked-merge-with-const-mask-vector.ll [InstCombine] visitMaskedMerge(): when unfolding, sanitize undef constants (PR45955) 2020-05-17 22:53:03 +03:00
unordered-fcmp-select.ll [InstCombine] propagate fast-math-flags (FMF) to select when inverting fcmp+select 2019-11-13 10:38:42 -05:00
unpack-fca.ll [InstCombine] don't assume 'inbounds' for bitcast pointer to GEP transform (PR43501) 2019-10-06 13:08:08 +00:00
unreachable-dbg-info-modified.ll [InstCombine] Fix incorrect Modified status 2020-08-13 15:10:41 +02:00
unrecognized_three-way-comparison.ll [InstCombine] matchThreeWayIntCompare(): commutativity awareness 2019-08-24 06:49:36 +00:00
unsigned-add-lack-of-overflow-check-via-add.ll [NFC][InstCombine] Overhaul 'unsigned add overflow' tests, ensure that all 3 patterns have full test coverage 2019-09-05 19:13:15 +00:00
unsigned-add-lack-of-overflow-check-via-xor.ll [NFC][InstCombine] Overhaul 'unsigned add overflow' tests, ensure that all 3 patterns have full test coverage 2019-09-05 19:13:15 +00:00
unsigned-add-lack-of-overflow-check.ll [NFC][InstCombine] Overhaul 'unsigned add overflow' tests, ensure that all 3 patterns have full test coverage 2019-09-05 19:13:15 +00:00
unsigned-add-overflow-check-via-add.ll [NFC][InstCombine] Overhaul 'unsigned add overflow' tests, ensure that all 3 patterns have full test coverage 2019-09-05 19:13:15 +00:00
unsigned-add-overflow-check-via-xor.ll [NFC][InstCombine] Overhaul 'unsigned add overflow' tests, ensure that all 3 patterns have full test coverage 2019-09-05 19:13:15 +00:00
unsigned-add-overflow-check.ll [NFC][InstCombine] Overhaul 'unsigned add overflow' tests, ensure that all 3 patterns have full test coverage 2019-09-05 19:13:15 +00:00
unsigned-mul-lack-of-overflow-check-via-mul-udiv.ll [InstCombine] Fold '((%x * %y) u/ %x) != %y' to '@llvm.umul.with.overflow' + overflow bit extraction 2019-08-29 12:47:20 +00:00
unsigned-mul-lack-of-overflow-check-via-udiv-of-allones.ll [InstCombine] Fold '(-1 u/ %x) u< %y' to '@llvm.umul.with.overflow' + overflow bit extraction 2019-08-29 12:47:08 +00:00
unsigned-mul-overflow-check-via-mul-udiv.ll [InstCombine] Fold '((%x * %y) u/ %x) != %y' to '@llvm.umul.with.overflow' + overflow bit extraction 2019-08-29 12:47:20 +00:00
unsigned-mul-overflow-check-via-udiv-of-allones.ll [InstCombine] Fold '(-1 u/ %x) u< %y' to '@llvm.umul.with.overflow' + overflow bit extraction 2019-08-29 12:47:08 +00:00
unsigned-sub-lack-of-overflow-check.ll [InstCombine] foldICmpBinOp(): consider inverted check in 'unsigned sub overflow' check 2019-09-05 17:41:02 +00:00
unsigned-sub-overflow-check.ll [InstCombine] foldICmpBinOp(): consider inverted check in 'unsigned sub overflow' check 2019-09-05 17:41:02 +00:00
unsigned_saturated_sub.ll [InstCombine] Expand usub_sat patterns to handle constants 2019-11-30 16:58:01 +00:00
unused-nonnull.ll [InstCombine] Simplify calls with "returned" attribute 2020-03-20 10:23:39 +01:00
urem-simplify-bug.ll
urem-via-udiv-mul-sub.ll [NFC][InstCombine] Tests for 'rem' formation from sub-of-mul-by-'div' (PR42673) 2019-07-19 11:29:18 +00:00
usub-overflow-known-by-implied-cond.ll [ValueTracking] usub(a, b) cannot overflow if a >= b. 2020-02-07 10:41:18 +00:00
vararg.ll Re-commit: Mark values as trivially dead when their only use is a start or end lifetime intrinsic. 2020-05-08 12:24:10 -07:00
variable-signext-of-variable-high-bit-extraction.ll [InstCombine] Bypass high bit extract before variable sign-extension (PR43523) 2019-10-02 23:02:12 +00:00
vec-binop-select.ll
vec_demanded_elts.ll [InstCombine] improve demanded element analysis for vector insert-of-extract (2nd try) 2020-08-25 11:19:36 -04:00
vec_extract_2elts.ll
vec_extract_var_elt.ll
vec_gep_scalar_arg.ll
vec_phi_extract.ll
vec_sext.ll [InstCombine] DCE instructions earlier 2020-02-27 18:45:59 +01:00
vec_shuffle.ll [InstCombine] avoid crashing on vector constant expression (PR46872) 2020-07-28 15:02:36 -04:00
vec_udiv_to_shift.ll [X86][InstCombine] Move non-X86 specific instcombine test from test/CodeGen/X86/ to test/Transforms/InstCombine/ 2019-12-01 10:31:04 -08:00
vector-casts.ll
vector-concat-binop.ll
vector-mul.ll
vector-reductions.ll [InstCombine] reassociate diff of sums into sum of diffs 2020-06-22 20:47:09 -04:00
vector-type.ll
vector-udiv.ll
vector-urem.ll [InstCombine] fix undef propagation for vector urem transform (PR44186) 2019-12-02 12:17:38 -05:00
vector-xor.ll [InstCombine] replace undef in vector constant for safe shift transform (PR45447) 2020-04-09 08:00:46 -04:00
vector_gep1.ll [SVE] Fix scalable vector bug in DataLayout::getIntPtrType 2020-06-26 07:58:45 +01:00
vector_gep2.ll
vector_insertelt_shuffle.ll
volatile_load_cast.ll Test that volatile load type isn't changed 2020-03-09 11:19:23 -07:00
volatile_store.ll
vscale_alloca.ll [InstCombine][SVE] Fix InstCombiner::visitAllocaInst for scalable vector. 2020-03-18 20:57:14 -07:00
vscale_extractelement.ll [InstCombine] Fix a couple crashes with extractelement on a scalable vector. 2020-09-02 18:02:07 -07:00
vscale_gep.ll [InstCombine][SVE] Fix visitGetElementPtrInst for scalable type. 2020-04-14 12:38:32 -07:00
vscale_insertelement.ll [InstCombine][SVE] Fix visitInsertElementInst for scalable type. 2020-05-07 12:44:52 -07:00
wcslen-1.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
wcslen-2.ll
wcslen-3.ll Require "target datalayout" to be at the beginning of an IR file. 2020-04-20 11:55:49 -07:00
wcslen-4.ll
weak-symbols.ll
widenable-conditions.ll Precommit tests for forthcoming widenable.condition transforms 2019-11-20 17:02:04 -08:00
win-math.ll
with_overflow.ll [InstCombine] Optimize overflow check base on uadd.with.overflow result 2019-12-11 20:52:04 +01:00
xor-icmps.ll
xor-of-icmps-with-extra-uses.ll [InstCombine] Fix worklist management in foldXorOfICmps() 2020-03-28 18:25:21 +01:00
xor-undef.ll
xor.ll [InstCombine] add bitwise logic fold tests for D86395; NFC 2020-09-08 09:17:42 -04:00
xor2.ll
zero-point-zero-add.ll
zeroext-and-reduce.ll
zext-bool-add-sub.ll [InstCombine] Negator - sink sinkable negations 2020-04-21 22:00:23 +03:00
zext-fold.ll
zext-or-icmp.ll Return "[InstCombine] Simplify compare of Phi with constant inputs against a constant" 2020-06-17 11:38:59 +01:00
zext-phi.ll
zext.ll Revert "[InstCombine] fold zext of masked bit set/clear" 2020-01-08 11:21:21 +01: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.