1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00
llvm-mirror/test/Transforms/InstCombine
Sanjay Patel 091a0f0213 [InstCombine] drop poison flags in SimplifyVectorDemandedElts
We established the (unfortunately complicated) rules for UB/poison
propagation with vector ops in:
D48893
D48987
D49047

It's clear from the affected tests that we are potentially creating 
poison where none existed before the transforms. For add/sub/mul,
the answer is simple: just drop the flags because the extra undef
vector lanes are generally more valuable for analysis and codegen.

llvm-svn: 343819
2018-10-04 21:36:50 +00:00
..
AArch64 [InstCombine, ARM, AArch64] Convert table lookup to shuffle vector 2018-05-30 14:38:50 +00:00
AMDGPU [InstCombine] allow bitcast to/from FP for vector insert/extract transform 2018-10-04 16:25:05 +00:00
ARM [InstCombine, ARM] Convert vld1 to llvm load 2018-05-31 12:19:18 +00:00
NVPTX
PowerPC
X86 [InstCombine] drop poison flags in SimplifyVectorDemandedElts 2018-10-04 21:36:50 +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
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 [InstCombine] Enable more reassociations using FMF 'reassoc' + 'nsz' 2018-05-24 20:16:43 +00:00
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 [PPC] Remove Darwin support from POWER backend. 2018-08-28 01:18:29 +00:00
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 Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
2007-10-12-Crash.ll
2007-10-28-stacksave.ll
2007-10-31-RangeCrash.ll [PPC] Remove Darwin support from POWER backend. 2018-08-28 01:18:29 +00:00
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
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-01-31-Pressure.ll
2009-02-04-FPBitcast.ll
2009-02-11-NotInitialized.ll
2009-02-20-InstCombine-SROA.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
2009-02-21-LoadCST.ll
2009-02-25-CrashZeroSizeArray.ll
2009-03-18-vector-ashr-crash.ll
2009-03-24-InfLoop.ll
2009-04-07-MulPromoteToI96.ll
2009-05-23-FCmpToICmp.ll
2009-06-11-StoreAddrSpace.ll
2009-06-16-SRemDemandedBits.ll
2009-07-02-MaskedIntVector.ll
2009-12-17-CmpSelectNull.ll
2010-01-28-NegativeSRem.ll
2010-03-03-ExtElim.ll
2010-05-30-memcpy-Struct.ll
2010-11-01-lshr-mask.ll Revert commit rL323951 2018-02-01 13:05:25 +00: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 [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
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
2012-10-25-vector-of-pointers.ll
2012-12-14-simp-vgep.ll
2013-03-05-Combine-BitcastTy-Into-Alloca.ll
abs_abs.ll [InstCombine] canonicalize abs pattern 2018-07-27 01:49:51 +00:00
abs-1.ll [InstCombine] canonicalize abs pattern 2018-07-27 01:49:51 +00:00
add2.ll [InstCombine][NFC] add2.ll: add a few commutative checks. 2018-04-26 20:07:17 +00:00
add3.ll
add4.ll [InstCombine] Simplify Add with remainder expressions as operands. 2018-04-26 20:52:28 +00:00
add-sitofp.ll
add.ll [PatternMatch] allow undef elements in vectors with m_Neg 2018-07-01 13:42:57 +00:00
addnegneg.ll
AddOverFlow.ll
addrspacecast.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
adjust-for-minmax.ll
alias-recursion.ll
align-2d-gep.ll
align-addr.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
align-attr.ll
align-external.ll
all-bits-shift.ll
alloca-big.ll [InstCombine] Limit simplifyAllocaArraySize constant folding to values that fit into a uint64_t 2018-08-13 16:50:20 +00:00
alloca-cast-debuginfo.ll [Local] replaceAllDbgUsesWith: Update debug values before RAUW 2018-07-06 17:32:39 +00:00
alloca.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
allocsize-32.ll
allocsize.ll
and2.ll [InstCombine] move/add tests for xor+add fold; NFC 2018-07-31 12:31:00 +00:00
and-compare.ll
and-fcmp.ll [InstSimplify, InstCombine] add/update tests with FP +0.0 vector with undef; NFC 2018-03-25 17:48:20 +00:00
and-narrow.ll [InstCombine] Allow common type conversions to i8/i16/i32 2018-02-03 16:51:03 +00:00
and-or-and.ll
and-or-icmps.ll [InstCombine] return when SimplifyAssociativeOrCommutative makes a change 2018-07-13 01:18:07 +00:00
and-or-not.ll Revert rL333106 / D46814: [InstCombine] Fold unfolded masked merge pattern with variable mask! 2018-05-31 06:00:36 +00:00
and-or.ll
and-xor-merge.ll
and-xor-or.ll [InstCombine] simplify code for A & (A ^ B) --> A & ~B 2018-07-31 13:00:03 +00:00
and.ll [InstCombine] fix demanded-bits propagation for zext/trunc 2018-01-17 14:39:28 +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 [InstCombine] Improve mul(x, pow2) -> shl combine for vector constants 2018-02-08 14:10:01 +00:00
apint-mul2.ll [InstCombine] Improve mul(x, pow2) -> shl combine for vector constants 2018-02-08 14:10:01 +00:00
apint-not.ll
apint-or.ll
apint-rem1.ll
apint-rem2.ll
apint-select.ll [InstCombine] move tests for select with bit-test of condition; NFC 2018-04-24 21:06:06 +00:00
apint-shift-simplify.ll
apint-shift.ll [InstSimplify] move tests for shifts; NFC 2018-04-21 16:58:00 +00:00
apint-shl-trunc.ll [InstCombine] regenerate test checks; NFC 2018-10-01 20:22:28 +00:00
apint-sub.ll [InstCombine] put tests of mul with neg operand(s) together; NFC 2018-02-13 23:02:12 +00:00
apint-xor1.ll
apint-xor2.ll
assoc-cast-assoc.ll
assume2.ll
assume-loop-align.ll
assume-redundant.ll
assume.ll [InstCombine] ignore debuginfo when removing redundant assumes (PR37726) 2018-06-20 13:22:26 +00:00
atomic.ll llvm: Add support for "-fno-delete-null-pointer-checks" 2018-07-09 22:27:23 +00:00
badmalloc.ll
binop-cast.ll
bit-checks.ll
bitcast-alias-function.ll
bitcast-bigendian.ll
bitcast-bitcast.ll
bitcast-sext-vector.ll
bitcast-store.ll
bitcast-vec-canon.ll
bitcast.ll
bitcount.ll
bitreverse-hang.ll
bitreverse-known-bits.ll
bittest.ll
branch.ll
broadcast.ll
bswap-fold.ll Move tests associated with transforms moved in r321467 2017-12-30 03:13:00 +00:00
bswap-known-bits.ll
bswap.ll [InstCombine] Adjusting bswap pattern matching to hold for And/Shift mixed case 2018-05-01 12:25:46 +00:00
builtin-object-size-offset.ll
builtin-object-size-ptr.ll
cabs-array.ll [SimplifyLibCalls] Inline calls to cabs when it's safe to do so 2017-12-16 01:26:25 +00:00
cabs-discrete.ll [SimplifyLibCalls] Inline calls to cabs when it's safe to do so 2017-12-16 01:26:25 +00:00
call2.ll
call_nonnull_arg.ll
call-callconv.ll [InstCombine] use nsw negation for abs libcalls 2018-05-22 23:29:40 +00:00
call-cast-attrs.ll
call-cast-target-inalloca.ll
call-cast-target.ll
call-guard.ll [InstCombine] Widen guards with conditions between 2018-05-09 22:56:32 +00:00
call-intrinsics.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
call.ll [InstCombine] Add test to remove VarArg casts (NFC) 2018-01-03 13:35:43 +00:00
canonicalize_branch.ll
canonicalize-ashr-shl-to-masking.ll [InstCombine] Fold (x >> y) << y -> x & (-1 << y) 2018-06-10 20:10:13 +00:00
canonicalize-constant-low-bit-mask-and-icmp-eq-to-icmp-ule.ll [NFC][InstCombine] Add forgotten variable tests for foldICmpWithLowBitMaskedVal() 2018-07-14 12:19:56 +00:00
canonicalize-constant-low-bit-mask-and-icmp-ne-to-icmp-ugt.ll [NFC][InstCombine] Add forgotten variable tests for foldICmpWithLowBitMaskedVal() 2018-07-14 12:19:56 +00:00
canonicalize-constant-low-bit-mask-and-icmp-sge-to-icmp-sle.ll [InstCombine] Fold x & (-1 >> y) s>= x to x s<= (-1 >> y) 2018-07-14 20:08:37 +00:00
canonicalize-constant-low-bit-mask-and-icmp-sgt-to-icmp-sgt.ll [InstCombine] Fold x s> x & (-1 >> y) to x s> (-1 >> y) 2018-07-14 20:08:16 +00:00
canonicalize-constant-low-bit-mask-and-icmp-sle-to-icmp-sle.ll [InstCombine] Fold x s<= x & (-1 >> y) to x s<= (-1 >> y) 2018-07-14 20:08:26 +00:00
canonicalize-constant-low-bit-mask-and-icmp-slt-to-icmp-sgt.ll [InstCombine] Fold x & (-1 >> y) s< x to x s> (-1 >> y) 2018-07-14 20:08:47 +00:00
canonicalize-constant-low-bit-mask-and-icmp-uge-to-icmp-ule.ll [InstCombine] Fold x & (-1 >> y) u>= x to x u<= (-1 >> y) 2018-07-14 12:20:06 +00:00
canonicalize-constant-low-bit-mask-and-icmp-ugt-to-icmp-ugt.ll [InstCombine] Fold x u> x & C to x u> C 2018-07-14 16:44:43 +00:00
canonicalize-constant-low-bit-mask-and-icmp-ule-to-icmp-ule.ll [InstCombine] Fold x u<= x & C to x u<= C 2018-07-14 16:44:54 +00:00
canonicalize-constant-low-bit-mask-and-icmp-ult-to-icmp-ugt.ll [InstCombine] Fold x & (-1 >> y) u< x to x u> (-1 >> y) 2018-07-14 12:20:16 +00:00
canonicalize-lack-of-signed-truncation-check.ll [InstCombine] Re-commit: Fold 'check for [no] signed truncation' pattern 2018-07-18 10:55:17 +00:00
canonicalize-low-bit-mask-and-icmp-eq-to-icmp-ule.ll [InstCombine] Fold x & (-1 >> y) == x to x u<= (-1 >> y) 2018-07-11 19:05:04 +00:00
canonicalize-low-bit-mask-and-icmp-ne-to-icmp-ugt.ll [InstCombine] Fold x & (-1 >> y) != x to x u> (-1 >> y) 2018-07-12 14:56:12 +00:00
canonicalize-low-bit-mask-v2-and-icmp-eq-to-icmp-ule.ll [InstCombine] foldICmpWithLowBitMaskedVal(): handle ~(-1 << y) mask 2018-09-19 13:35:27 +00:00
canonicalize-low-bit-mask-v2-and-icmp-ne-to-icmp-ugt.ll [InstCombine] foldICmpWithLowBitMaskedVal(): handle ~(-1 << y) mask 2018-09-19 13:35:27 +00:00
canonicalize-low-bit-mask-v3-and-icmp-eq-to-icmp-ule.ll [InstCombine] foldICmpWithLowBitMaskedVal(): handle uncanonical ((1 << y)+(-1)) mask 2018-09-19 13:35:40 +00:00
canonicalize-low-bit-mask-v3-and-icmp-ne-to-icmp-ugt.ll [InstCombine] foldICmpWithLowBitMaskedVal(): handle uncanonical ((1 << y)+(-1)) mask 2018-09-19 13:35:40 +00:00
canonicalize-low-bit-mask-v4-and-icmp-eq-to-icmp-ule.ll [InstCombine] foldICmpWithLowBitMaskedVal(): handle uncanonical ((-1 << y) >> y) mask 2018-09-19 13:35:46 +00:00
canonicalize-low-bit-mask-v4-and-icmp-ne-to-icmp-ugt.ll [InstCombine] foldICmpWithLowBitMaskedVal(): handle uncanonical ((-1 << y) >> y) mask 2018-09-19 13:35:46 +00:00
canonicalize-lshr-shl-to-masking.ll [InstCombine] Fold (x >> y) << y -> x & (-1 << y) 2018-06-10 20:10:13 +00:00
canonicalize-shl-lshr-to-masking.ll [InstCombine] Recommit: Fold (x << y) >> y -> x & (-1 >> y) 2018-06-15 09:56:52 +00:00
canonicalize-signed-truncation-check.ll [InstCombine] Re-commit: Fold 'check for [no] signed truncation' pattern 2018-07-18 10:55:17 +00: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 [PatternMatch] allow undef elements when matching a vector zero 2018-04-22 17:07:44 +00:00
cast-mul-select.ll [Local] replaceAllDbgUsesWith: Update debug values before RAUW 2018-07-06 17:32:39 +00:00
cast-select.ll [InstCombine] don't change the size of a select if it would mismatch its condition operands' sizes 2018-05-31 00:16:58 +00:00
cast-set-preserve-signed-dbg-val.ll [Local] replaceAllDbgUsesWith: Update debug values before RAUW 2018-07-06 17:32:39 +00:00
cast-set.ll
cast-unsigned-icmp-eqcmp-0.ll [PatternMatch] allow undef elements when matching a vector zero 2018-04-22 17:07:44 +00:00
cast.ll [ConstProp] move tests for fp <--> int; NFC 2018-06-06 16:53:56 +00:00
ceil.ll
clamp-to-minmax.ll
cmp-intrinsic.ll
compare-3way.ll
compare-alloca.ll
compare-signs.ll [InstCombine] add folds for xor-of-icmp signbit tests (PR36682) 2018-03-22 14:08:16 +00:00
compare-udiv.ll
compare-unescaped.ll
consecutive-fences.ll InstCombine: ignore debug instructions during fence combine 2018-06-06 12:46:02 +00:00
constant-expr-datalayout.ll
constant-fold-address-space-pointer.ll ConstantFold: Don't fold global address vs. null for addrspace != 0 2018-06-26 18:55:43 +00:00
constant-fold-alias.ll
constant-fold-compare.ll
constant-fold-gep.ll
constant-fold-iteration.ll
constant-fold-libfunc.ll
constant-fold-math.ll
convergent.ll
copysign.ll
cos-1.ll [InstCombine] add reflection fold for tan(-x) 2018-08-16 22:46:20 +00:00
cos-2.ll
cos-sin-intrinsic.ll [InstCombine] canonicalize fneg with llvm.sin 2018-08-29 18:27:49 +00:00
CPP_min_max.ll
crash.ll
ctpop.ll
dce-iterate.ll
deadcode.ll
debug-line.ll
debuginfo_add.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
debuginfo-dce2.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
debuginfo-dce.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
debuginfo-skip.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
debuginfo-variables.ll [InstCombine] Preserve debug value when simplifying cast-of-select 2018-07-17 18:08:36 +00:00
debuginfo.ll Re-apply "[DebugInfo] Check size of variable in ConvertDebugDeclareToDebugValue" 2018-06-15 13:48:55 +00:00
default-alignment.ll
demand_shrink_nsw.ll [InstCombine] fix xor-or-xor fold to check uses and handle commutes 2018-09-04 23:22:13 +00:00
demorgan-sink-not-into-xor.ll [InstCombine] De Morgan: sink 'not' into 'xor' (PR38446) 2018-08-08 13:31:19 +00:00
demorgan.ll
disable-simplify-libcalls.ll
distribute.ll
div-shift-crash.ll
div-shift.ll [InstCombine] (X << Y) / X -> 1 << Y 2018-01-21 16:14:51 +00:00
div.ll [InstCombine] fold udiv with common factor from muls with nuw 2018-07-26 19:22:41 +00:00
double-float-shrink-1.ll [SLC] Fix shrinking of pow() 2018-08-06 19:40:17 +00:00
double-float-shrink-2.ll [InstCombine] Avoid creating mis-sized dbg.values in commonCastTransforms() 2018-06-27 00:47:53 +00:00
early_constfold_changes_IR.ll
early_dce_clobbers_callgraph.ll
element-atomic-memintrins.ll [InstCombine] Handle atomic memset in the same way as regular memset 2018-05-11 20:04:50 +00:00
enforce-known-alignment.ll
err-rep-cold.ll
exact.ll
exp2-1.ll
exp2-2.ll
ExtractCast.ll
extractelement.ll [InstCombine] allow bitcast to/from FP for vector insert/extract transform 2018-10-04 16:25:05 +00:00
extractinsert-tbaa.ll
extractvalue.ll
fabs-libcall.ll
fabs.ll [PatternMatch] allow undef elements when matching vector FP +0.0 2018-03-25 21:16:33 +00:00
fadd-fsub-factor.ll [InstCombine] fix/enhance fadd/fsub factorization 2018-08-12 15:48:26 +00:00
fadd.ll [InstCombine] simplify fneg+fadd folds; NFC 2018-04-16 14:13:57 +00:00
fast-math.ll [InstCombine] move/add tests for fadd/fsub factorization; NFC 2018-08-12 15:06:15 +00:00
fcmp-select.ll
fcmp-special.ll [PatternMatch] allow undef elements when matching vector FP +0.0 2018-03-25 21:16:33 +00:00
fcmp.ll [InstCombine] Without infinites, fold (C / X) < 0.0 --> (X < 0) 2018-09-27 15:59:24 +00:00
fdiv-cos-sin.ll [InstCombine] Don't transform sin/cos -> tanl if for half types 2018-09-19 12:01:38 +00:00
fdiv-sin-cos.ll [InstCombine] allow sin/cos transforms with 'reassoc' 2018-02-15 15:07:12 +00:00
fdiv.ll [PatternMatch] define m_FNeg using m_FSub 2018-04-05 15:36:55 +00:00
ffs-1.ll
float-shrink-compare.ll
fls.ll
fma.ll [PatternMatch] define m_FNeg using m_FSub 2018-04-05 15:36:55 +00:00
fmul-sqrt.ll [InstCombine] add nnan requirement for sqrt(x) * sqrt(y) -> sqrt(x*y) 2018-03-18 14:32:54 +00:00
fmul.ll [PatternMatch] define m_FNeg using m_FSub 2018-04-05 15:36:55 +00:00
fneg.ll [InstCombine] fold fneg into constant operand of fmul/fdiv 2018-08-08 14:29:08 +00:00
fold-bin-operand.ll
fold-calls.ll
fold-fops-into-selects.ll
fold-phi-load-metadata.ll
fold-phi.ll
fold-sqrt-sqrtf.ll
fold-vector-select.ll
fold-vector-zero.ll
fp-ret-bitcast.ll
fpcast.ll [InstCombine] don't change the size of a select if it would mismatch its condition operands' sizes 2018-05-31 00:16:58 +00:00
fpextend_x86.ll
fpextend.ll [InstCombine] Add constant vector support to getMinimumFPType for visitFPTrunc. 2018-03-05 18:04:12 +00:00
fprintf-1.ll
fputs-1.ll
fputs-opt-size.ll
fsub.ll [InstCombine] fold fneg into constant operand of fmul/fdiv 2018-08-08 14:29:08 +00:00
fwrite-1.ll
gc.relocate.ll
gep-addrspace.ll Fix InstCombine address space assert 2018-07-31 15:53:03 +00:00
gep-combine-loop-invariant.ll [InstCombine] Properly change GEP type when reassociating loop invariant GEP chains 2018-04-05 18:51:45 +00:00
gep-custom-dl.ll Adding a width of the GEP index to the Data Layout. 2018-02-14 06:58:08 +00:00
gep-sext.ll
gep-vector.ll [InstCombine] peek through bitcasted vector/array pointer GEP operand 2018-04-18 00:36:40 +00:00
gepgep.ll
gepphigep.ll
getelementptr-folding.ll
getelementptr.ll
hoist_instr.ll
icmp_sdiv_with_and_without_range.ll Revert "[InstCombine] Delay foldICmpUsingKnownBits until simple transforms are done" 2018-07-06 04:04:13 +00:00
icmp-add.ll [InstCombine] add folds for unsigned-overflow compares 2018-09-11 22:40:20 +00:00
icmp-bc-vec.ll [InstCombine] Fold compare of int constant against a splatted vector of ints 2018-04-03 17:26:20 +00:00
icmp-custom-dl.ll Adding a width of the GEP index to the Data Layout. 2018-02-14 06:58:08 +00:00
icmp-div-constant.ll
icmp-logical.ll [InstCombine] icmp-logical.ll: restore the original intention of the test. 2018-07-12 14:56:17 +00:00
icmp-mul-zext.ll [InstCombine] Fold x & (-1 >> y) == x to x u<= (-1 >> y) 2018-07-11 19:05:04 +00:00
icmp-mul.ll [InstCombine] Add new tests in preparation for a combine of icmp (mul nsw/nuw X, C2), C 2018-09-27 10:08:38 +00:00
icmp-range.ll
icmp-shl-nsw.ll Revert "[InstCombine] Delay foldICmpUsingKnownBits until simple transforms are done" 2018-07-06 04:04:13 +00:00
icmp-shl-nuw.ll
icmp-shr-lt-gt.ll Revert "[InstCombine] Delay foldICmpUsingKnownBits until simple transforms are done" 2018-07-06 04:04:13 +00:00
icmp-shr.ll
icmp-uge-of-add-of-shl-one-by-bits-to-allones-and-val-to-icmp-eq-of-lshr-val-by-bits-and-0.ll [InstCombine] Inefficient pattern for high-bits checking 3 (PR38708) 2018-09-15 12:04:13 +00:00
icmp-uge-of-not-of-shl-allones-by-bits-and-val-to-icmp-eq-of-lshr-val-by-bits-and-0.ll [InstCombine] Inefficient pattern for high-bits checking 2 (PR38708) 2018-09-13 20:33:12 +00:00
icmp-ugt-of-shl-1-by-bits-and-val-to-icmp-eq-of-lshr-val-by-bits-and-0.ll [NFC][InstCombine] Test what happens if 'unefficient high bit check' pattern is on both sides. 2018-09-13 20:33:02 +00:00
icmp-ule-of-shl-1-by-bits-and-val-to-icmp-ne-of-lshr-val-by-bits-and-0.ll [NFC][InstCombine] Test what happens if 'unefficient high bit check' pattern is on both sides. 2018-09-13 20:33:02 +00:00
icmp-ult-of-add-of-shl-one-by-bits-to-allones-and-val-to-icmp-ne-of-lshr-val-by-bits-and-0.ll [InstCombine] Inefficient pattern for high-bits checking 3 (PR38708) 2018-09-15 12:04:13 +00:00
icmp-ult-of-not-of-shl-allones-by-bits-and-val-to-icmp-ne-of-lshr-val-by-bits-and-0.ll [InstCombine] Inefficient pattern for high-bits checking 2 (PR38708) 2018-09-13 20:33:12 +00:00
icmp-vec.ll [InstCombine] move vector compare before same-shuffled ops 2018-08-16 12:52:17 +00:00
icmp-xor-signbit.ll
icmp.ll [InstCombine] add icmp+logic tests with commuted ops; NFC 2018-10-02 22:53:37 +00:00
idioms.ll
indexed-gep-compares.ll
inline-intrinsic-assert.ll
inselt-binop.ll [InstCombine] add tests for insertelement+binop; NFC 2018-08-20 16:49:08 +00:00
insert-const-shuf.ll
insert-extract-shuffle.ll
insert-val-extract-elem.ll
int_sideeffect.ll
intptr1.ll
intptr2.ll
intptr3.ll
intptr4.ll
intptr5.ll
intptr6.ll
intptr7.ll
IntPtrCast.ll
intrinsics.ll Move tests associated with transforms moved in r321467 2017-12-30 03:13:00 +00:00
invariant.group.ll Simplify recursive launder.invariant.group and strip 2018-07-12 23:55:20 +00:00
invariant.ll
invert-variable-mask-in-masked-merge-scalar.ll [InstCombine] Canonicalize variable mask in masked merge 2018-04-28 15:45:07 +00:00
invert-variable-mask-in-masked-merge-vector.ll [InstCombine] Canonicalize variable mask in masked merge 2018-04-28 15:45:07 +00:00
invoke.ll llvm: Add support for "-fno-delete-null-pointer-checks" 2018-07-09 22:27:23 +00:00
isascii-1.ll
isdigit-1.ll
JavaCompare.ll
known_align.ll
known-never-nan.ll [InstSimplify] use isKnownNeverNaN to fold more fcmp ord/uno 2018-08-21 14:45:13 +00:00
LandingPadClauses.ll
lifetime-asan.ll
lifetime-no-null-opt.ll llvm: Add support for "-fno-delete-null-pointer-checks" 2018-07-09 22:27:23 +00:00
lifetime.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
load3.ll
load_combine_aa.ll
load-bitcast32.ll
load-bitcast64.ll
load-bitcast-select.ll
load-cmp.ll
load-combine-metadata-2.ll
load-combine-metadata-3.ll
load-combine-metadata-4.ll
load-combine-metadata-dominance.ll [Local] Make DoesKMove required for combineMetadata. 2018-08-24 11:40:04 +00:00
load-combine-metadata.ll
load-select.ll
load.ll llvm: Add support for "-fno-delete-null-pointer-checks" 2018-07-09 22:27:23 +00:00
loadstore-alignment.ll
loadstore-metadata.ll
log-pow-nofastmath.ll
log-pow.ll
logical-select.ll [InstCombine] add vector test with undef elts; NFC 2018-04-22 15:59:14 +00:00
lower-dbg-declare.ll [DebugInfo] LowerDbgDeclare: Add derefs when handling CallInst users 2018-07-26 20:56:53 +00:00
lshr-phi.ll
lshr.ll
malloc-free-delete.ll [Analysis] Support aligned new/delete functions. 2018-04-04 19:01:51 +00:00
masked_intrinsics.ll
masked-merge-add.ll Revert rL333106 / D46814: [InstCombine] Fold unfolded masked merge pattern with variable mask! 2018-05-31 06:00:36 +00:00
masked-merge-and-of-ors.ll Revert rL333106 / D46814: [InstCombine] Fold unfolded masked merge pattern with variable mask! 2018-05-31 06:00:36 +00:00
masked-merge-or.ll Revert rL333106 / D46814: [InstCombine] Fold unfolded masked merge pattern with variable mask! 2018-05-31 06:00:36 +00:00
masked-merge-xor.ll Revert rL333106 / D46814: [InstCombine] Fold unfolded masked merge pattern with variable mask! 2018-05-31 06:00:36 +00:00
max_known_bits.ll [InstCombine] remove stall comment from test file; NFC 2018-09-14 18:02:17 +00:00
max-of-nots.ll [InstCombine] Tests for ~A - Min/Max(~A, O) -> Max/Min(A, ~O) - A. NFC 2018-10-02 09:06:49 +00:00
maxnum.ll [InstSimplify] move minnum/maxnum with Inf folds from instcombine 2018-08-09 22:20:44 +00:00
mem-gep-zidx.ll
mem-par-metadata-memcpy.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
memchr.ll
memcmp-1.ll
memcmp-2.ll
memcmp-constant-fold.ll
memcpy_chk-1.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
memcpy_chk-2.ll
memcpy-1.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
memcpy-2.ll
memcpy-addrspace.ll llvm: Add support for "-fno-delete-null-pointer-checks" 2018-07-09 22:27:23 +00:00
memcpy-from-global.ll llvm: Add support for "-fno-delete-null-pointer-checks" 2018-07-09 22:27:23 +00:00
memcpy-to-load.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
memcpy.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
memmove_chk-1.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
memmove_chk-2.ll
memmove-1.ll
memmove-2.ll
memmove.ll [InstCombine] Simplify MemTransferInst's source and dest alignments separately 2018-02-12 23:06:55 +00:00
memset2.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
memset_chk-1.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
memset_chk-2.ll
memset-1.ll [InstCombine] add potential calloc tests and regenerate checks; NFC 2018-04-06 16:06:08 +00:00
memset-2.ll
memset.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
merge-icmp.ll
min-positive.ll [PatternMatch] allow undef elements when matching a vector zero 2018-04-22 17:07:44 +00:00
minmax-fold.ll [InstCombine] narrow select to match condition operands' size 2018-05-31 19:55:27 +00:00
minmax-fp.ll [ValueTracking] ignore FP signed-zero when detecting a casted-to-integer fmin/fmax pattern 2017-12-26 15:09:19 +00:00
minnum.ll [InstSimplify] move minnum/maxnum with Inf folds from instcombine 2018-08-09 22:20:44 +00:00
misc-2002.ll
mul-masked-bits.ll
mul.ll [InstCombine] Fix incorrect usage of getPrimitiveSizeInBits when we should be using the element size for vectors 2018-09-11 17:57:20 +00:00
multi-size-address-space-pointer.ll
multi-use-or.ll
multiple-uses-load-bitcast-select.ll [InstCombine] Fix PR35618: Instcombine hangs on single minmax load bitcast. 2017-12-12 20:28:46 +00:00
musttail-thunk.ll [Debugify] Add debug intrinsics before terminating musttail calls 2018-06-04 03:33:01 +00:00
narrow-math.ll [InstCombine] Support (sub (sext x), (sext y)) --> (sext (sub x, y)) and (sub (zext x), (zext y)) --> (zext (sub x, y)) 2018-09-15 18:54:10 +00:00
narrow-switch.ll
narrow.ll
no_cgscc_assert.ll
no-negzero.ll
non-integral-pointers.ll
nonnull-attribute.ll
not.ll [InstCombine] allow add+not --> sub for arbitrary vector constants. 2018-09-03 18:21:59 +00:00
nothrow.ll
nsw.ll
obfuscated_splat.ll
objsize-64.ll
objsize-address-space.ll
objsize-noverify.ll
objsize.ll Make llvm.objectsize more conservative with null 2018-07-09 22:21:16 +00:00
odr-linkage.ll
onehot_merge.ll
opaque.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
or-fcmp.ll [InstSimplify, InstCombine] add/update tests with FP +0.0 vector with undef; NFC 2018-03-25 17:48:20 +00:00
or-shifted-masks.ll Inserting several lit tests to reflect current behaviour 2017-12-14 12:00:04 +00:00
or-xor.ll [PatternMatch] Stabilize the matching order of commutative matchers 2018-04-27 21:23:20 +00:00
or.ll [NFC][InstCombine] Regenerate two tests that are affected by folding masked merge 2018-04-20 10:49:19 +00:00
osx-names.ll
out-of-bounds-indexes.ll Reintroduce r320049, r320014 and r319894. 2017-12-13 11:21:18 +00:00
overflow-mul.ll
overflow.ll
OverlappingInsertvalues.ll
phi-load-metadata-2.ll
phi-load-metadata-3.ll
phi-load-metadata-dominance.ll [Local] Make DoesKMove required for combineMetadata. 2018-08-24 11:40:04 +00:00
phi-load-metadata.ll
phi-merge-gep.ll
phi-preserve-ir-flags.ll
phi-select-constant.ll
phi-timeout.ll Remove unneeded -debug argument from new test 2018-02-03 17:33:50 +00:00
phi.ll
pow-1.ll [InstCombine] Expand the simplification of pow() into exp2() 2018-08-30 19:04:51 +00:00
pow-2.ll [InstCombine] regenerate checks; NFC 2018-08-14 15:21:13 +00:00
pow-3.ll [SLC] Expand simplification of pow() for vector types 2018-08-13 16:12:37 +00:00
pow-4.ll [SLC] Support expanding pow(x, n+0.5) to x * x * ... * sqrt(x) 2018-09-03 17:37:39 +00:00
pow-cbrt.ll [SLC] Test simplification of pow(x, 0.333...) to cbrt(x) (NFC) 2018-07-27 18:56:47 +00:00
pow-exp-nofastmath.ll [InstCombine] regenerate checks; NFC 2018-08-14 15:21:13 +00:00
pow-exp.ll [InstCombine] Expand the simplification of pow() with nested exp{,2}() 2018-08-29 17:59:48 +00:00
pow-sqrt.ll [NFC] Fix typo in test cases 2018-08-16 17:03:22 +00:00
pr2645-0.ll
pr2996.ll
pr12251.ll
pr12338.ll
pr17827.ll
pr19420.ll
pr20079.ll
pr20678.ll
pr21199.ll
pr21210.ll
pr21651.ll
pr21891.ll
pr23751.ll
pr23809.ll
pr24354.ll
pr24605.ll
pr25342.ll
pr25745.ll
pr26992.ll
pr26993.ll
pr27236.ll
pr27332.ll
pr27703.ll
pr27996.ll
pr28143.ll
pr28725.ll Reintroduce r320049, r320014 and r319894. 2017-12-13 11:21:18 +00:00
pr30929.ll
pr31990_wrong_memcpy.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
pr32686.ll
pr33453.ll
pr33689_same_bitwidth.ll
pr34349.ll
pr34627.ll
pr35515.ll
pr36362.ll [InstCombine] Don't fold select(C, Z, binop(select(C, X, Y), W)) -> select(C, Z, binop(Y, W)) if the binop is rem or div. 2018-02-14 18:08:33 +00:00
pr38677.ll [ValueTracking] Fix assert message and add test case for r340546 and PR38677. 2018-08-23 17:45:53 +00:00
pr38897.ll [InstCombine] Fold (min/max ~X, Y) -> ~(max/min X, ~Y) when Y is freely invertible 2018-09-22 05:53:27 +00:00
pr38915.ll [InstCombine] Fold (xor (min/max X, Y), -1) -> (max/min ~X, ~Y) when X and Y are freely invertible. 2018-09-13 18:52:58 +00:00
pr38984.ll [InstCombine] Handle vector compares in foldGEPIcmp(), take 2 2018-10-01 14:59:25 +00:00
PR30597.ll
PR37526.ll [InstCombine] Fix PR37526: MinMax patterns produce an infinite loop. 2018-05-21 17:46:34 +00:00
prefetch-load.ll
preserve-sminmax.ll
preserved-analyses.ll
prevent-cmp-merge.ll
printf-1.ll [SLC] Add an alignment to CreateGlobalString 2018-09-06 08:42:17 +00:00
printf-2.ll
printf-3.ll
ptr-int-cast.ll
puts-1.ll
range-check.ll
README.txt
readnone-maythrow.ll
realloc.ll [SimplifyLibcalls] Realloc(null, N) -> Malloc(N) 2018-04-18 14:21:31 +00:00
rem.ll [InstCombine] fold urem with sext bool divisor 2018-06-26 16:30:00 +00:00
rotate.ll [InstCombine] Add tests for cases where we don't recognize type promoted rotate idioms. 2018-05-11 00:46:09 +00:00
round.ll
salvage-dbg-declare.ll [DebugInfo] Corrections for salvageDebugInfo 2018-07-03 11:29:00 +00:00
scalarization.ll [InstCombine] add tests for extractelement; NFC 2018-09-21 14:43:49 +00:00
sdiv-1.ll
sdiv-2.ll
sdiv-guard.ll [InstCombine] Fix div handling 2018-06-04 02:52:36 +00:00
select_arithmetic.ll [InstCombine] auto-generate complete checks; NFC 2018-02-28 16:53:45 +00:00
select_meta.ll [InstCombine] Fold (min/max ~X, Y) -> ~(max/min X, ~Y) when Y is freely invertible 2018-09-22 05:53:27 +00:00
select-2.ll
select-binop-cmp.ll [InstCombine] Fold Select with binary op - FP opcodes 2018-08-23 15:22:15 +00:00
select-bitext-bitwise-ops.ll [InstCombine] narrow select to match condition operands' size 2018-05-31 19:55:27 +00:00
select-bitext.ll Revert commit rL323951 2018-02-01 13:05:25 +00:00
select-cmp-br.ll
select-cmp-cttz-ctlz.ll
select-cmpxchg.ll
select-crash-noverify.ll
select-crash.ll [InstCombine, NewGVN] remove FP undef from tests 2018-03-08 14:57:08 +00:00
select-extractelement.ll
select-gep.ll [InstCombine] Do not fold scalar ops over select with vector condition. 2018-09-07 14:40:06 +00:00
select-icmp-and.ll [InstCombine] refine select-of-constants to bitwise ops 2018-05-03 21:58:44 +00:00
select-implied.ll
select-load-call.ll
select-obo-peo-ops.ll [InstCombine] narrow select to match condition operands' size 2018-05-31 19:55:27 +00:00
select-of-bittest.ll [PatternMatch] allow undef elements when matching a vector zero 2018-04-22 17:07:44 +00:00
select-select.ll
select-with-bitwise-ops.ll [InstCombine] move tests for select with bit-test of condition; NFC 2018-04-24 21:06:06 +00:00
select.ll [InstCombine] Fold (min/max ~X, Y) -> ~(max/min X, ~Y) when Y is freely invertible 2018-09-22 05:53:27 +00:00
set-lowbits-mask-canonicalize.ll [InstSimplify] add nuw %x, -1 -> -1 fold. 2018-06-08 15:44:47 +00:00
set.ll [NFC][InstCombine] Regenerate set.ll test 2018-08-05 08:53:40 +00:00
setcc-strength-reduce.ll
sext.ll
shift-add.ll
shift-shift.ll
shift-sra.ll
shift.ll [InstSimplify] move tests for shifts; NFC 2018-04-21 16:58:00 +00:00
should-change-type.ll [InstCombine] Allow common type conversions to i8/i16/i32 2018-02-03 16:51:03 +00:00
shuffle_select.ll [InstCombine] drop poison flags in SimplifyVectorDemandedElts 2018-10-04 21:36:50 +00:00
shuffle-select-narrow.ll [InstCombine] enhance vector demanded elements to look at a vector select condition operand 2018-09-11 18:49:00 +00:00
shufflevec-bitcast.ll
shufflevec-constant.ll
sign-test-and-or.ll
signed-comparison.ll
signed-truncation-check.ll [InstCombine] Re-land: Optimize redundant 'signed truncation check pattern'. 2018-08-13 21:54:37 +00:00
signext.ll [InstCombine] fix datalayout in test file 2018-01-24 21:36:45 +00:00
simplify-demanded-bits-pointer.ll
simplify-libcalls.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
sincospi.ll
sink_instruction.ll
sink-into-catchswitch.ll
sitofp.ll
smax-icmp.ll
smin-icmp.ll
snprintf.ll [InstCombine] snprintf optimizations 2018-05-11 17:50:49 +00:00
sprintf-1.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
sprintf-void.ll [Analysis] Validate the return type of s(n)printf like libcalls 2018-05-11 16:53:56 +00:00
sqrt-nofast.ll
sqrt.ll
srem1.ll
srem-simplify-bug.ll
stack-overalign.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
stacksave-debuginfo.ll [InstCombine] Skip dbg.value(s) when looking at stack{save,restore}. 2018-06-08 20:42:36 +00:00
stacksaverestore.ll
statepoint.ll
store-load-unaliased-gep.ll [PM][InstCombine] fixing omission of AliasAnalysis in new-pass-manager's version of InstCombine 2017-12-14 10:36:31 +00:00
store.ll llvm: Add support for "-fno-delete-null-pointer-checks" 2018-07-09 22:27:23 +00:00
stpcpy_chk-1.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
stpcpy_chk-2.ll
stpcpy-1.ll
stpcpy-2.ll
str-int-2.ll [SimplifyLibcalls] Atoi, strtol replacements 2018-04-25 18:58:53 +00:00
str-int.ll [SimplifyLibcalls] Atoi, strtol replacements 2018-04-25 18:58:53 +00:00
strcat-1.ll
strcat-2.ll
strcat-3.ll
strchr-1.ll
strchr-2.ll
strcmp-1.ll
strcmp-2.ll
strcmp-memcmp.ll [InstCombine] Disable strcmp->memcmp transform for MSan. 2018-09-19 19:37:24 +00:00
strcpy_chk-1.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
strcpy_chk-2.ll
strcpy_chk-64.ll llvm: Add support for "-fno-delete-null-pointer-checks" 2018-07-09 22:27:23 +00:00
strcpy-1.ll
strcpy-2.ll
strcspn-1.ll
strcspn-2.ll
strlen-1.ll llvm: Add support for "-fno-delete-null-pointer-checks" 2018-07-09 22:27:23 +00:00
strlen-2.ll
strncat-1.ll
strncat-2.ll
strncat-3.ll
strncmp-1.ll
strncmp-2.ll
strncmp-wrong-datalayout.ll [TargetLibraryInfo] Discard library functions with incorrectly sized integers 2017-12-18 10:31:58 +00:00
strncpy_chk-1.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
strncpy_chk-2.ll
strncpy-1.ll
strncpy-2.ll
strpbrk-1.ll
strpbrk-2.ll
strrchr-1.ll
strrchr-2.ll
strspn-1.ll
strstr-1.ll
strstr-2.ll
strto-1.ll
struct-assign-tbaa-new.ll [Transforms] Propagate new-format TBAA tags on simplification of memory-transfer intrinsics 2018-02-19 12:10:20 +00:00
struct-assign-tbaa.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
sub-minmax.ll [InstCombine] Fold ~A - Min/Max(~A, O) -> Max/Min(A, ~O) - A 2018-10-02 09:48:34 +00:00
sub-not.ll [InstCombine] try to fold 'add+sub' to 'not+add' 2018-07-29 18:13:16 +00:00
sub-xor.ll
sub.ll [InstCombine] Fold (min/max ~X, Y) -> ~(max/min X, ~Y) when Y is freely invertible 2018-09-22 05:53:27 +00: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.ll
type_pun.ll
uaddo.ll [InstCombine] add tests for unsigned add overflow; NFC 2018-09-12 21:13:37 +00:00
udiv_select_to_select_shift.ll [InstCombine] Add constant vector support for X udiv C, where C >= signbit 2018-02-09 10:43:59 +00:00
udiv-simplify.ll [InstCombine] Teach SimplifyDemandedBits that udiv doesn't demand low dividend bits that are zero in the divisor 2018-05-09 22:27:34 +00:00
udivrem-change-width.ll
umax-icmp.ll
umin-icmp.ll
unfold-masked-merge-with-const-mask-scalar.ll [InstCombine] Unfold masked merge with constant mask 2018-04-30 17:59:33 +00:00
unfold-masked-merge-with-const-mask-vector.ll [InstCombine] Unfold masked merge with constant mask 2018-04-30 17:59:33 +00:00
unlocked-stdio-mingw.ll [Analysis] Only use _unlocked stdio functions on linux 2018-05-17 08:16:08 +00:00
unlocked-stdio.ll [InstCombine] [NFC] Added more tests for unlocked IO transformation 2018-05-23 03:01:45 +00:00
unordered-fcmp-select.ll
unpack-fca.ll
unrecognized_three-way-comparison.ll [InstCombine] refine select-of-constants to bitwise ops 2018-05-03 21:58:44 +00:00
unsigned_saturated_sub.ll [InstCombine] add unsigned saturation subtraction canonicalizations 2018-02-05 17:53:29 +00:00
urem-simplify-bug.ll
vararg.ll
vec_demanded_elts.ll [InstCombine] drop poison flags in SimplifyVectorDemandedElts 2018-10-04 21:36:50 +00:00
vec_extract_2elts.ll
vec_extract_var_elt.ll
vec_insertelt.ll
vec_narrow.ll
vec_phi_extract.ll
vec_sext.ll [InstCombine] use constant pattern matchers with icmp+sext 2018-06-21 17:51:44 +00:00
vec_shuffle.ll [InstCombine] allow SimplifyDemandedVectorElts to work with FP binops 2018-10-03 21:44:59 +00:00
vector_gep1.ll [InstCombine] auto-generate checks; NFC 2018-03-23 15:39:03 +00:00
vector_gep2.ll [InstCombine] auto-generate checks; NFC 2018-03-23 15:39:03 +00:00
vector_insertelt_shuffle.ll [instsimplify] consistently handle undef and out of bound indices for insertelement and extractelement 2017-12-30 05:54:22 +00:00
vector-casts.ll [InstCombine] add tests with undef elements; NFC 2018-10-02 15:00:56 +00:00
vector-concat-binop.ll [InstCombine] narrow binops on concatenated vectors (PR33026) 2018-09-25 15:57:37 +00:00
vector-mul.ll [InstCombine] Regenerate vector mul tests. 2018-02-08 17:54:24 +00:00
vector-type.ll
vector-udiv.ll [InstCombine] Add constant vector support for X udiv C, where C >= signbit 2018-02-09 10:43:59 +00:00
vector-urem.ll [PatternMatch] enhance m_One() to ignore undef elements in vectors 2018-02-17 16:00:42 +00:00
vector-xor.ll [InstCombine] consolidate tests for ~(X+C); NFC 2018-09-03 18:04:21 +00:00
volatile_store.ll
wcslen-1.ll llvm: Add support for "-fno-delete-null-pointer-checks" 2018-07-09 22:27:23 +00:00
wcslen-2.ll
wcslen-3.ll
wcslen-4.ll
weak-symbols.ll
win-math.ll
xor2.ll [InstCombine] fix xor-or-xor fold to check uses and handle commutes 2018-09-04 23:22:13 +00:00
xor-icmps.ll [InstCombine] Fix IC trying to create a xor of pointer types. 2018-08-15 17:46:22 +00:00
xor-undef.ll
xor.ll [InstCombine] Fold (min/max ~X, Y) -> ~(max/min X, ~Y) when Y is freely invertible 2018-09-22 05:53:27 +00:00
zero-point-zero-add.ll
zeroext-and-reduce.ll
zext-bool-add-sub.ll [InstCombine] improve sub with bool folds 2018-06-03 16:35:26 +00:00
zext-fold.ll
zext-or-icmp.ll
zext-phi.ll
zext.ll [InstCombine] make ((X & C) ^ C) form consistent for vectors 2018-09-04 21:17:14 +00: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.