1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
llvm-mirror/test/Transforms/InstCombine
Sanjay Patel 56d9dc66a3 [InstCombine] (A + B) + B --> A + (B << 1)
This eliminates a use of 'B', so it can enable follow-on transforms
as well as improve analysis/codegen.

The PhaseOrdering test was added for D61726, and that shows
the limits of instcombine vs. real reassociation. We would
need to run some form of CSE to collapse that further.

The intermediate variable naming here is intentional because
there's a test at llvm/test/Bitcode/value-with-long-name.ll
that would break with the usual nameless value. I'm not sure
how to improve that test to be more robust.

The naming may also be helpful to debug regressions if this
change exposes weaknesses in the reassociation pass for example.
2020-05-22 11:46:59 -04:00
..
AArch64
AMDGPU InstCombine: Add constant folding/simplify for amdgcn.ldexp intrinsic 2020-05-22 08:21:38 -04:00
ARM [ARM,MVE] Add an InstCombine rule permitting VPNOT. 2019-12-02 16:20:30 +00:00
Hexagon [Hexagon] Simplify intrinsic (vandvrt (vandqrt q b) m) -> q if possible 2020-02-21 13:56:04 -06:00
NVPTX Consolidate internal denormal flushing controls 2020-01-17 20:09:53 -05:00
PowerPC [lit] Delete empty lines at the end of lit.local.cfg NFC 2019-06-17 09:51:07 +00:00
X86 [InstCombine][X86] Add repeated ops demanded elts tests for SSE intrinsics (PR24523) 2020-03-27 14:51:09 +00:00
2003-05-26-CastMiscompile.ll
2003-05-27-ConstExprCrash.ll
2003-06-05-BranchInvertInfLoop.ll
2003-07-21-ExternalConstant.ll
2003-08-12-AllocaNonNull.ll
2003-09-09-VolatileLoadElim.ll
2003-10-29-CallSiteResolve.ll
2003-11-03-VarargsCallBug.ll
2004-01-13-InstCombineInvokePHI.ll
2004-02-23-ShiftShiftOverflow.ll
2004-03-13-InstCombineInfLoop.ll
2004-04-04-InstCombineReplaceAllUsesWith.ll
2004-05-07-UnsizedCastLoad.ll
2004-07-27-ConstantExprMul.ll
2004-08-09-RemInfLoop.ll
2004-08-10-BoolSetCC.ll
2004-09-20-BadLoadCombine2.ll
2004-09-20-BadLoadCombine.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
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
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 Revert [InstCombine] sprintf(dest, "%s", str) -> memccpy(dest, str, 0, MAX) 2019-10-01 13:19:04 +00:00
2010-11-01-lshr-mask.ll [InstCombine] DCE instructions earlier 2020-02-27 18:45:59 +01: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-3-15-or-xor-constant.ll
2012-6-7-vselect-bitcast.ll
2012-01-11-OpaqueBitcastCrash.ll
2012-02-13-FCmp.ll
2012-02-28-ICmp.ll
2012-03-10-InstCombine.ll
2012-04-24-vselect.ll
2012-04-30-SRem.ll
2012-05-28-select-hang.ll
2012-06-06-LoadOfPHIs.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
abs_abs.ll
abs-1.ll [InstCombine] prevent infinite loop with sub/abs of constant expression 2020-04-15 09:19:16 -04:00
add2.ll
add3.ll
add4.ll [InstCombine] Support vectors in SimplifyAddWithRemainder. 2020-03-10 14:29:40 +00:00
add-sitofp.ll
add.ll [InstCombine] (A + B) + B --> A + (B << 1) 2020-05-22 11:46:59 -04:00
addnegneg.ll
AddOverFlow.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 [InstCombine] 'C-(C2-X) --> X+(C-C2)' constant-fold 2019-05-31 09:47:16 +00:00
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
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
and2.ll [NFC][InstCombine] '(Op1 & С) - Op1' -> '-(Op1 & ~C)' fold (PR44427) 2020-01-03 21:25:48 +03:00
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
and-xor-or.ll
and.ll [InstCombine] fold a shifted bool zext to a select (2nd try) 2019-10-15 13:12:44 +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
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 [InstCombine] Invert add A, sext(B) --> sub A, zext(B) canonicalization (to sub A, zext B -> add A, sext B) 2019-12-05 21:21:30 +03: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
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
assume-loop-align.ll
assume-redundant.ll
assume.ll [InstCombine] Duplicate some InstSimplify tests (NFC) 2020-05-03 12:49:36 +02: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
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
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 InstCombine: correctly change byval type attribute alongside call args. 2019-06-05 20:38:17 +00:00
cabs-array.ll
cabs-discrete.ll
call2.ll
call_nonnull_arg.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
callsite_nonnull_args_through_casts.ll
canonicalize_branch.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-shl-lshr-to-masking.ll
canonicalize-signed-truncation-check.ll
cast_phi.ll [InstCombine] fix operands of shouldChangeType() for casted phi transform 2020-02-04 07:45:48 -05:00
cast_ptr.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 [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] use select-of-constants with set/clear bit mask patterns 2020-05-03 09:44:43 -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
compare-3way.ll
compare-alloca.ll
compare-signs.ll
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] remove stale comment on test; NFC 2019-12-30 12:39:10 -05:00
cos-1.ll [instcombine] remove fsub to fneg hacks; only emit fneg 2020-03-10 16:57:02 +01:00
cos-2.ll [NFC][InstCombine] Add unary FNeg to cos-1.ll cos-2.ll cos-sin-intrinsic.ll 2019-05-31 18:54:44 +00:00
cos-sin-intrinsic.ll Remove BinaryOperator::CreateFNeg 2020-02-27 09:06:03 -08:00
CPP_min_max.ll
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] cttz(abs(x)) -> cttz(x) 2019-06-21 15:26:22 +00:00
cttz-negative.ll [InstCombine] cttz(-x) -> cttz(x) 2019-06-20 17:04:14 +00:00
dce-iterate.ll
deadcode.ll
debug-line.ll
debuginfo_add.ll
debuginfo-dce2.ll [llvm] Fix missing FileCheck directive colons 2020-04-06 09:59:08 -06:00
debuginfo-dce.ll Wrong debug info generated at -O2 (-O0 is correct) 2019-11-07 11:19:41 -08:00
debuginfo-sink.ll
debuginfo-skip.ll
debuginfo-variables.ll
debuginfo.ll
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] Deduce attributes for aligned_alloc in InstCombine 2020-03-31 23:17:28 +05:30
disable-builtin.ll Add -disable-builtin option to opt 2019-11-13 21:32:49 +01:00
disable-simplify-libcalls.ll
distribute.ll
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
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 Revert "[llvm][test] Add COM: directives before colon-less non-CHECKs in comments. NFC" 2020-05-22 05:36:15 -06: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
ExtractCast.ll [InstCombine] Transform extelt-trunc -> bitcast-extelt 2020-03-31 11:53:41 +02:00
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] allow unordered preds when canonicalizing to fabs() 2019-06-10 15:39:00 +00: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 [NFC][InstCombine] Add unary FNeg tests to fcmp.ll 2019-05-31 15:40:03 +00:00
fdiv-cos-sin.ll
fdiv-sin-cos.ll
fdiv.ll [instcombine] remove fsub to fneg hacks; only emit fneg 2020-03-10 16:57:02 +01:00
ffs-1.ll
float-shrink-compare.ll [InstCombine] canonicalize fmin/fmax to LLVM intrinsics minnum/maxnum 2019-06-29 14:28:54 +00:00
fls.ll
fma.ll [InstCombine] Precommit tests for D68265 2019-10-02 12:32:37 +00:00
fmul-exp2.ll
fmul-exp.ll
fmul-pow.ll
fmul-sqrt.ll
fmul.ll [instcombine] remove fsub to fneg hacks; only emit fneg 2020-03-10 16:57:02 +01: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 [InstCombine] Simplify calls with "returned" attribute 2020-03-20 10:23:39 +01:00
fp-ret-bitcast.ll
fpcast.ll Remove BinaryOperator::CreateFNeg 2020-02-27 09:06:03 -08:00
fpextend_x86.ll
fpextend.ll [InstCombine] improve analysis of FP->int->FP to eliminate fpextend 2020-05-17 09:06:57 -04:00
fprintf-1.ll
fptrunc.ll [InstCombine] add tests for FP cast of cast; NFC 2020-05-17 11:42:07 -04:00
fputs-1.ll
fputs-opt-size.ll
freeze.ll Add InstCombine/InstructionSimplify support for Freeze Instruction 2019-11-12 12:13:26 +09:00
fsh.ll [InstCombine] reduce funnel-shift i16 X, X, 8 to bswap X 2019-06-24 15:20:49 +00:00
fsub.ll [InstCombine] add tests for reassociative fsub/fadd expressions; NFC 2020-05-20 12:45:27 -04:00
fwrite-1.ll
gc.relocate.ll [GCRelocate] Add a peephole to canonicalize base pointer relocation 2019-09-24 17:24:16 +00: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] fold gep-of-select-of-constants (PR45084) 2020-03-10 09:25:13 -04: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_instr.ll
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
icmp_sdiv_with_and_without_range.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-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 operands of shouldChangeType() for casted phi transform 2020-02-04 07:45:48 -05:00
icmp-mul.ll
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] generalize canonicalization of masked equality comparisons 2020-04-25 11:31:57 -04:00
idioms.ll
indexed-gep-compares.ll
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 [InstCombine] move bitcast after insertelement-with-bitcasted-operands 2019-05-17 18:06:12 +00:00
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
IntPtrCast.ll
intrinsics.ll
invariant.group.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02: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
JavaCompare.ll
known_align.ll
known-bits.ll [InstCombine] Remove ExpensiveCombines option 2020-03-22 16:56:28 +01:00
known-never-nan.ll [NFC][InstCombine] Add unary FNeg tests to fsub.ll known-never-nan.ll 2019-05-29 15:21:28 +00:00
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
LandingPadClauses.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
load3.ll
load_combine_aa.ll
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-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-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
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] DCE instructions earlier 2020-02-27 18:45:59 +01: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 [InstCombine] Fold icmp eq/ne (and %x, signbit), 0 -> %x s>=/s< 0 earlier 2019-06-19 17:31:39 +00:00
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] Deduce attributes for aligned_alloc in InstCombine 2020-03-31 23:17:28 +05:30
masked_intrinsics.ll Make Value::getPointerAlignment() return an Align, not a MaybeAlign. 2020-05-20 16:37:20 -07:00
masked-merge-add.ll
masked-merge-and-of-ors.ll
masked-merge-or.ll
masked-merge-xor.ll
max_known_bits.ll
max-of-nots.ll [ValueTracking] enhance matching of umin/umax with 'not' operands 2020-04-06 11:51:59 -04:00
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_chk-1.ll [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
memcpy_chk-2.ll
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
memmove_chk-1.ll [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
memmove_chk-2.ll
memmove-1.ll
memmove-2.ll
memmove.ll [BuildLibCalls] Noalias annotation 2019-08-14 16:50:06 +00:00
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
memset2.ll
memset_chk-1.ll [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
memset_chk-2.ll
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
merge-icmp.ll
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] Regenerate test checks; NFC 2020-01-29 18:22:07 +01:00
minmax-fp.ll Remove BinaryOperator::CreateFNeg 2020-02-27 09:06:03 -08: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(abs(x),abs(x))) -> (mul(x,x)) (PR39476) 2020-05-04 15:21:52 +01: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_cgscc_assert.ll
no_sink_instruction.ll
no-negzero.ll
non-integral-pointers.ll
nonnull-attribute.ll
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] Duplicate some InstSimplify tests (NFC) 2020-05-03 12:49:36 +02:00
or.ll [InstCombine] Process newly inserted instructions in the correct order 2020-01-30 09:40:10 +01:00
osx-names.ll
out-of-bounds-indexes.ll [InstCombine] Remove ExpensiveCombines option 2020-03-22 16:56:28 +01:00
overflow_to_sat.ll [InstCombine] Canonicalize ssub.with.overflow with clamp to ssub.sat 2019-11-17 10:45:11 +00: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
OverlappingInsertvalues.ll
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-equal-incoming-pointers.ll [InstCombine] Fix incorrect inbounds on GEP of GEP (PR44425) 2020-01-01 22:10:55 +01: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-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
pow_fp_int.ll [InstCombine] Simplify pow(2.0, itofp(y)) to ldexp(1.0, y) 2019-08-16 15:33:41 +00: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
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
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] make test independent of branch undef/UB; NFC 2020-03-29 13:32:47 -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
PR30597.ll
PR37526.ll [InstCombine] Teach removeBitcastsFromLoadStoreOnMinMax not to change the size of a store. 2019-12-16 12:12:54 -08: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 [InstCombine] canShiftBinOpWithConstantRHS(): drop bogus signbit check 2019-05-17 15:52:49 +00:00
pull-conditional-binop-through-shift.ll [InstCombine] canShiftBinOpWithConstantRHS(): drop bogus signbit check 2019-05-17 15:52:49 +00:00
puts-1.ll [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
range-check.ll
README.txt
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] try harder to form rotate (funnel shift) (PR20750) 2019-05-13 17:28:19 +00:00
sadd_sat.ll [InstCombine] Signed saturation patterns 2019-10-22 15:39:47 +00:00
sadd-with-overflow.ll
salvage-dbg-declare.ll
saturating-add-sub.ll Reapply [IRBuilder] Always respect inserter/folder 2020-02-19 20:51:38 +01:00
scalarization.ll
sdiv-1.ll
sdiv-2.ll
sdiv-canonicalize.ll
sdiv-guard.ll
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
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
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] fix miscompile from multi-use cttz/ctlz transform 2020-05-01 13:52:24 -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
select-with-bitwise-ops.ll [InstCombine] use select-of-constants with set/clear bit mask patterns 2020-05-03 09:44:43 -04:00
select.ll Make Value::getPointerAlignment() return an Align, not a MaybeAlign. 2020-05-20 16:37:20 -07:00
set-lowbits-mask-canonicalize.ll
set.ll
setcc-strength-reduce.ll
sext.ll
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 [NFC][InstCombine] More test for "sign bit test via shifts" pattern (PR43595) 2019-10-13 17:11:16 +00: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] Invert add A, sext(B) --> sub A, zext(B) canonicalization (to sub A, zext B -> add A, sext B) 2019-12-05 21:21:30 +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 [InstCombine] Fold icmp eq/ne (and %x, signbit), 0 -> %x s>=/s< 0 earlier 2019-06-19 17:31:39 +00:00
shl-sub.ll [NFC] Update shl-sub tests 2019-06-21 17:51:18 +00:00
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_select.ll [InstCombine] remove identity shuffle simplification for mask with undefs 2019-11-24 10:06:26 -05:00
shuffle-cast.ll [InstCombine] convert bitcast-shuffle to vector trunc 2020-04-05 09:48:02 -04:00
shuffle-select-narrow.ll
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
simplify-demanded-bits-pointer.ll
simplify-libcalls-erased.ll
simplify-libcalls.ll [SimplifyLibCalls][IRBuilder] Accept any IRBuilder in SimplifyLibCalls 2020-02-21 18:26:05 +01:00
sincospi.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
sink-alloca.ll [ValueTracking] Pointer is known nonnull after load/store 2019-12-11 20:32:29 +01:00
sink-into-catchswitch.ll
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 Revert [InstCombine] sprintf(dest, "%s", str) -> memccpy(dest, str, 0, MAX) 2019-10-01 13:19:04 +00:00
sprintf-void.ll
sqrt-nofast.ll [InstCombine] add test for failed libfunction prototype matching; NFC 2019-06-13 18:26:10 +00:00
sqrt.ll [SimplifyLibCalls] fix crash with empty function name (PR43347) 2019-09-18 14:33:40 +00:00
srem1.ll
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
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.ll
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_chk-1.ll [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
stpcpy_chk-2.ll
stpcpy-1.ll [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
stpcpy-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_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
strcpy-1.ll [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
strcpy-2.ll
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_chk.ll [SimplifyLibCalls] Add __strlen_chk. 2020-02-08 11:51:00 -08:00
strlen-1.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
strlen-2.ll
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_chk-1.ll [InstCombine] Simplify calls with "returned" attribute 2020-03-20 10:23:39 +01:00
strncpy_chk-2.ll
strncpy-1.ll Reland "[SLC] Preserve attrs for strncpy(x, "", y) -> memset(align 1 x, '\0', y)" 2019-09-17 17:12:24 +00:00
strncpy-2.ll [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
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] Process newly inserted instructions in the correct order 2020-01-30 09:40:10 +01: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] insertelement is negatible if both sources are negatible 2020-05-20 21:44:31 +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] Negator: don't negate multi-use sub 2020-04-23 23:59:15 +03: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
trunc-binop-ext.ll
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] allow more narrowing of casted select 2020-01-27 16:35:50 -05:00
type_pun.ll
uadd-with-overflow.ll
uaddo.ll
udiv_select_to_select_shift.ll
udiv-pow2-vscale.ll [SVE] Fix invalid usage of getNumElements() in InstCombineMulDivRem 2020-05-05 15:19:01 -07:00
udiv-simplify.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
unrecognized_three-way-comparison.ll [InstCombine] matchThreeWayIntCompare(): commutativity awareness 2019-08-24 06:49:36 +00:00
unsigned_saturated_sub.ll [InstCombine] Expand usub_sat patterns to handle constants 2019-11-30 16:58:01 +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
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_demanded_elts.ll [InstCombine] remove identity shuffle simplification for mask with undefs 2019-11-24 10:06:26 -05: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] remove fsub to fneg hacks; only emit fneg 2020-03-10 16:57:02 +01: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
vec-binop-select.ll
vector_gep1.ll
vector_gep2.ll
vector_insertelt_shuffle.ll
vector-casts.ll
vector-concat-binop.ll
vector-mul.ll
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
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 [NFC] Adjust test check lines for D78267. 2020-05-07 13:20:15 -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
xor2.ll
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] Process newly inserted instructions in the correct order 2020-01-30 09:40:10 +01:00
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 [InstCombine] Insert instructions before adding them to worklist 2019-12-18 14:55:41 -05:00
zext-phi.ll
zext.ll Revert "[InstCombine] fold zext of masked bit set/clear" 2020-01-08 11:21:21 +01:00

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.