llvm-project/llvm/test/Transforms/InstCombine
Sanjay Patel 1df1facae2 [InstCombine] add tests for implied simplifications; NFC
Ideally, we would fold all of these in InstSimplify in a
similar way to rL347896, but this is a bit awkward when
we're trying to simplify a compare directly because the
ValueTracking API expects the compare as an input, but
in InstSimplify, we just have the operands of the compare.

Given that we can do transforms besides just simplifications,
we might as well just extend the code in InstCombine (which 
already does simplifications with constant operands).

llvm-svn: 348312
2018-12-04 22:25:33 +00:00
..
AArch64 [InstCombine, ARM, AArch64] Convert table lookup to shuffle vector 2018-05-30 14:38:50 +00:00
AMDGPU Revert r347871 "Fix: Add support for TFE/LWE in image intrinsic" 2018-11-29 20:14:17 +00:00
ARM [InstCombine, ARM] Convert vld1 to llvm load 2018-05-31 12:19:18 +00:00
NVPTX Update three tests I missed in r302979 and r302990 2017-05-18 00:58:06 +00:00
PowerPC InstCombine: Move tests that use target intrinsics into subdirectories 2017-05-13 05:39:46 +00:00
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-BadLoadCombine.ll
2004-09-20-BadLoadCombine2.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 [InstCombine] auto-generate complete test checks; NFC 2017-11-28 19:07:28 +00:00
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-01-11-OpaqueBitcastCrash.ll
2012-02-13-FCmp.ll
2012-02-28-ICmp.ll
2012-03-10-InstCombine.ll
2012-3-15-or-xor-constant.ll
2012-04-24-vselect.ll
2012-04-30-SRem.ll
2012-05-28-select-hang.ll
2012-06-06-LoadOfPHIs.ll
2012-6-7-vselect-bitcast.ll
2012-07-25-LoadPart.ll
2012-07-30-addrsp-bitcast.ll
2012-08-28-udiv_ashl.ll
2012-09-17-ZeroSizedAlloca.ll
2012-10-25-vector-of-pointers.ll
2012-12-14-simp-vgep.ll
2013-03-05-Combine-BitcastTy-Into-Alloca.ll
AddOverFlow.ll [InstCombine][KnownBits] Use KnownBits better to detect nsw adds 2017-05-03 23:22:46 +00:00
CPP_min_max.ll
ExtractCast.ll
IntPtrCast.ll
JavaCompare.ll
LandingPadClauses.ll
OverlappingInsertvalues.ll
PR30597.ll
PR37526.ll [InstCombine] Fix PR37526: MinMax patterns produce an infinite loop. 2018-05-21 17:46:34 +00:00
README.txt
abs-1.ll [InstCombine] canonicalize abs pattern 2018-07-27 01:49:51 +00:00
abs_abs.ll [InstCombine] canonicalize abs pattern 2018-07-27 01:49:51 +00:00
add-sitofp.ll Fix for PR32740 - Invalid floating type, unreachable between r300969 and r301029 2017-04-22 07:24:52 +00:00
add.ll [PatternMatch] allow undef elements in vectors with m_Neg 2018-07-01 13:42:57 +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
addnegneg.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
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 [InstCombine] allow mask hoisting transform for vector types 2017-07-31 21:01:53 +00:00
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
and2.ll [InstCombine] move/add tests for xor+add fold; NFC 2018-07-31 12:31:00 +00:00
apint-add.ll
apint-and-compare.ll
apint-and-or-and.ll
apint-and-xor-merge.ll
apint-and.ll [InstCombine] use FileCheck and auto-generate checks; NFC 2017-05-01 14:20:30 +00:00
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 [InstCombine] consolidate tests for DeMorgan folds; NFC 2017-04-30 18:57:12 +00:00
apint-or.ll [InstCombine] consolidate tests for DeMorgan folds; NFC 2017-04-30 18:57:12 +00:00
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 [InstCombine] Ensure nested shifts are in range (OSS-Fuzz #9880) 2018-11-06 11:28:22 +00:00
apint-shl-trunc.ll [InstCombine] reverse 'trunc X to <N x i1>' canonicalization; 2nd try 2018-10-10 20:47:46 +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
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
assume2.ll [InstCombine] don't use DeMorgan's Law on integer constants (2nd try) 2017-05-02 15:31:40 +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 [InstCombine][InstSimplify] Teach decomposeBitTestICmp to look through truncate instructions 2017-09-01 21:27:34 +00:00
bitcast-alias-function.ll
bitcast-bigendian.ll [InstCombine] reverse bitcast + bitwise-logic canonicalization (PR33138) 2017-06-22 15:46:54 +00:00
bitcast-bitcast.ll
bitcast-sext-vector.ll
bitcast-store.ll
bitcast-vec-canon.ll [InstCombine] auto-generate test checks; NFC 2017-05-23 17:51:22 +00:00
bitcast.ll [InstCombine] reverse bitcast + bitwise-logic canonicalization (PR33138) 2017-06-22 15:46:54 +00:00
bitcount.ll
bitreverse-hang.ll
bitreverse-known-bits.ll [ValueTracking] Make sure we keep range metadata information when calculating known bits for calls to bitreverse intrinsic. 2017-03-22 07:22:49 +00:00
bittest.ll
branch.ll [InstCombine] Fold branches with irrelevant conditions to a constant. 2017-08-23 09:14:37 +00:00
broadcast.ll [InstCombine] Fold insert sequence if first ins has multiple users. 2017-08-30 10:54:21 +00:00
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 Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
builtin-object-size-ptr.ll Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
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
call-callconv.ll [InstCombine] use nsw negation for abs libcalls 2018-05-22 23:29:40 +00:00
call-cast-attrs.ll Simplify test for sret attribute in instcombine 2017-04-19 23:17:47 +00:00
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
call2.ll
call_nonnull_arg.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] foldICmpWithLowBitMaskedVal(): disable 2 faulty folds. 2018-12-03 20:07:58 +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] foldICmpWithLowBitMaskedVal(): disable 2 faulty folds. 2018-12-03 20:07:58 +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
canonicalize_branch.ll [InstCombine] add isCanonicalPredicate() helper function and use it; NFCI 2017-05-17 14:21:19 +00:00
cast-call-combine-prof.ll Fix some misc. -enable-var-scope violations 2017-11-13 01:47:52 +00:00
cast-call-combine.ll
cast-callee-deopt-bundles.ll
cast-int-fcmp-eq-0.ll [InstSimplify] More fcmp cases when comparing against negative constants. 2017-12-01 12:34:16 +00:00
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
cast_ptr.ll
ceil.ll
clamp-to-minmax.ll [InstCombine] Canonicalize clamp of float types to minmax in fast mode. 2017-08-04 12:22:17 +00:00
cmp-intrinsic.ll [InstCombine] move and improve tests for cmp-intrinsic; NFC 2017-07-03 14:07:40 +00:00
compare-3way.ll [InstCombine] Recognize and simplify three way comparison idioms 2017-06-23 13:41:45 +00:00
compare-alloca.ll Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
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 [InstCombine] Prevent InstCombine from triggering an extra iteration if something changed in the initial Worklist creation 2017-05-13 06:56:04 +00:00
constant-fold-libfunc.ll Add strictfp attribute to prevent unwanted optimizations of libm calls 2017-08-14 21:15:13 +00:00
constant-fold-math.ll [InstCombine] Add frem constant folding test (PR3316) 2017-04-19 21:09:19 +00:00
convergent.ll Fix some misc. -enable-var-scope violations 2017-11-13 01:47:52 +00:00
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
crash.ll
ctpop.ll Fix some misc. -enable-var-scope violations 2017-11-13 01:47:52 +00:00
dce-iterate.ll
deadcode.ll Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
debug-line.ll
debuginfo-dce.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-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
debuginfo_add.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +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 [InstCombine] fix auto-generated FileCheck-captured variable refs 2017-05-10 14:40:04 +00:00
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 [InstCombine] Make sure AddReachableCodeToWorklist sets MadeIRChange 2017-06-19 18:00:27 +00:00
early_dce_clobbers_callgraph.ll [InstCombine] Make sure AddReachableCodeToWorklist sets MadeIRChange 2017-06-19 18:00:27 +00:00
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 Fix some misc. -enable-var-scope violations 2017-11-13 01:47:52 +00:00
exact.ll
exp2-1.ll
exp2-2.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 [InstCombine] Retain TBAA when narrowing memory accesses 2017-06-28 23:36:40 +00:00
extractvalue.ll
fabs-libcall.ll [InstCombine] regenerate test checks; NFC 2017-11-16 16:38:42 +00:00
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 [InstCombine] add/adjust tests for fcmp+select substitution; NFC 2018-11-05 18:09:10 +00:00
fcmp-special.ll [InstCombine] canonicalize -0.0 to +0.0 in fcmp 2018-11-05 17:26:42 +00:00
fcmp.ll [InstCombine] propagate FMF for fcmp+fabs folds 2018-11-07 16:15:01 +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 [InstCombine] narrow truncated add/sub/mul with constant 2017-08-04 22:30:34 +00:00
float-shrink-compare.ll [InstCombine] regenerate test checks; NFC 2017-11-16 16:59:49 +00:00
fls.ll [InstCombine] narrow truncated add/sub/mul with constant 2017-08-04 22:30:34 +00:00
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 [FPEnv] Last BinaryOperator::isFNeg(...) to m_FNeg(...) changes 2018-10-25 18:09:33 +00:00
fpextend.ll [InstCombine] Add constant vector support to getMinimumFPType for visitFPTrunc. 2018-03-05 18:04:12 +00:00
fpextend_x86.ll
fprintf-1.ll
fputs-1.ll
fputs-opt-size.ll
fsh.ll [InstCombine] add tests for rotate/bswap equality; NFC 2018-11-27 00:08:21 +00:00
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] Fix incongruous GEP type addrspace 2018-10-08 08:40:45 +00:00
gepgep.ll
gepphigep.ll
getelementptr-folding.ll
getelementptr.ll Fix some misc. -enable-var-scope violations 2017-11-13 01:47:52 +00:00
hoist_instr.ll
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-dom.ll [InstCombine] add tests for implied simplifications; NFC 2018-12-04 22:25:33 +00:00
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 revert r314984: revert r314698 - [InstCombine] remove one-use restriction for icmp (shr exact X, C1), C2 --> icmp X, (C2<<C1) 2017-10-15 15:39:15 +00: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 [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 [InstCombine] reverse bitcast + bitwise-logic canonicalization (PR33138) 2017-06-22 15:46:54 +00:00
icmp.ll [InstCombine] auto-generate full checks for icmp dominator tests; NFC 2018-12-04 15:00:35 +00:00
icmp_sdiv_with_and_without_range.ll Revert "[InstCombine] Delay foldICmpUsingKnownBits until simple transforms are done" 2018-07-06 04:04:13 +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 [InstCombine] try to turn shuffle into insertelement 2018-10-30 15:26:39 +00:00
insert-val-extract-elem.ll
int_sideeffect.ll Add an @llvm.sideeffect intrinsic 2017-11-08 21:59:51 +00:00
intptr1.ll Renable r314928 2017-10-10 05:07:54 +00:00
intptr2.ll Renable r314928 2017-10-10 05:07:54 +00:00
intptr3.ll Renable r314928 2017-10-10 05:07:54 +00:00
intptr4.ll Renable r314928 2017-10-10 05:07:54 +00:00
intptr5.ll Renable r314928 2017-10-10 05:07:54 +00:00
intptr6.ll Renable r314928 2017-10-10 05:07:54 +00:00
intptr7.ll Renable r314928 2017-10-10 05:07:54 +00:00
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
known-never-nan.ll [InstSimplify] use isKnownNeverNaN to fold more fcmp ord/uno 2018-08-21 14:45:13 +00:00
known_align.ll
lifetime-asan.ll Hardware-assisted AddressSanitizer (llvm part). 2017-12-09 00:21:41 +00:00
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
load-bitcast-select.ll [InstCombine] PR35354: Convert store(bitcast, load bitcast (select (Cond, &V1, &V2)) --> store (, load (select(Cond, load &V1, load &V2))) 2017-12-08 15:32:10 +00:00
load-bitcast32.ll
load-bitcast64.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 [Local] Keep K's range if K does not move when combining metadata. 2018-10-27 16:53:45 +00:00
load-select.ll
load.ll [InstCombine] auto-generate full checks; NFC 2018-11-10 18:51:10 +00:00
load3.ll
load_combine_aa.ll
loadstore-alignment.ll
loadstore-metadata.ll
log-pow-nofastmath.ll
log-pow.ll
logical-select.ll [ValueTracking] peek through 2-input shuffles in ComputeNumSignBits 2018-11-03 13:18:55 +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 [InstCombine] narrow lshr with constant 2017-08-04 15:42:47 +00:00
malloc-free-delete.ll [InstCombine] Teach the move free before null test opti how to deal with noop casts 2018-10-30 20:51:04 +00:00
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
masked_intrinsics.ll Support arbitrary address space pointers in masked gather/scatter intrinsics. 2017-05-03 12:28:54 +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
max_known_bits.ll [InstCombine] remove stall comment from test file; NFC 2018-09-14 18:02:17 +00:00
maximum.ll [InstCombine] Combine nested min/max intrinsics with constants 2018-10-31 17:50:52 +00:00
maxnum.ll [InstCombine] Combine nested min/max intrinsics with constants 2018-10-31 17:50:52 +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 SimplifyLibCalls: Optimize wcslen 2017-05-19 22:37:09 +00:00
memcmp-1.ll [InstCombine] auto-generate better checks; NFC 2017-04-09 15:44:59 +00:00
memcmp-2.ll
memcmp-constant-fold.ll [LibCallSimplifier] try harder to fold memcmp with constant arguments (2nd try) 2017-08-21 19:13:14 +00:00
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 [InstCombine] regenerate test checks; NFC 2017-08-10 15:07:37 +00:00
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
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
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
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
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
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
merge-icmp.ll
min-positive.ll [PatternMatch] allow undef elements when matching a vector zero 2018-04-22 17:07:44 +00:00
minimum.ll [InstCombine] Combine nested min/max intrinsics with constants 2018-10-31 17:50:52 +00:00
minmax-demandbits.ll [InstCombine] Demand bits of UMin 2018-10-11 11:28:27 +00:00
minmax-fold.ll [InstCombine] narrow select to match condition operands' size 2018-05-31 19:55:27 +00:00
minmax-fp.ll [InstCombine] canonicalize -0.0 to +0.0 in fcmp 2018-11-05 17:26:42 +00:00
minnum.ll [InstCombine] Combine nested min/max intrinsics with constants 2018-10-31 17:50:52 +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 [InstCombine] do not shrink switch conditions to illegal types (PR29009) 2018-11-07 14:12:41 +00:00
narrow.ll
no-negzero.ll
no_cgscc_assert.ll
no_sink_instruction.ll Add -instcombine-code-sinking option 2018-10-25 08:32:29 +00:00
non-integral-pointers.ll Fix invalid ptrtoint in InstCombine 2017-10-22 20:28:17 +00:00
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 [ValueTracking] peek through shuffles in ComputeNumSignBits (PR37549) 2018-10-26 21:05:14 +00:00
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 [InstCombine] Fold (!iszero(A & K1) & !iszero(A & K2)) -> (A & (K1 | K2)) == (K1 | K2) if K1 and K2 are a 1-bit mask 2017-06-16 05:10:37 +00:00
opaque.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
operand-complexity.ll [InstCombine] fix complexity canonicalization with fake unary vector ops 2018-10-13 16:15:37 +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 [InstCombine] auto-generate full checks for icmp overflow tests; NFC 2018-12-04 15:41:34 +00:00
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 Fix some misc. -enable-var-scope violations 2017-11-13 01:47:52 +00:00
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 [InstCombine] Teach the code that pulls logical operators through constant shifts to handle vector splats too. 2017-08-05 20:00:42 +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
pr25745.ll
pr26992.ll
pr26993.ll
pr27236.ll [InstCombine] Canonicalize clamp of float types to minmax in fast mode. 2017-08-04 12:22:17 +00:00
pr27332.ll
pr27343.ll [InstCombine] Add PR27343 test cases 2018-10-14 20:14:33 +00:00
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 Regenerate test. NFCI. 2017-04-19 12:06:40 +00:00
pr33453.ll [InstCombine] Make FPMathOperator working with ConstantExpression(s). 2017-06-17 00:07:22 +00:00
pr33689_same_bitwidth.ll Add original reproducer for r307754 / PR33689 2017-07-13 07:38:53 +00:00
pr34349.ll [InstCombine] Call hasNoSignedWrap instead of hasNoUnsignedWrap to get the NSW flag when handling Add in SimplifyDemandedUseBits. 2017-08-28 18:44:28 +00:00
pr34627.ll [ConstantFold] Return the correct type when folding a GEP with vector indices. 2017-09-15 20:53:05 +00:00
pr35515.ll [InstCombine] Fix SimplifyDemandedUseBits SHL handling (PR35515) 2017-12-09 23:42:56 +00:00
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
pr39177.ll [InstCombine] Cleanup libfunc attribute inferring 2018-10-16 21:18:31 +00:00
prefetch-load.ll Change the default attributes for llvm.prefetch to inaccessiblemem_or_argmemonly 2017-03-25 20:20:23 +00:00
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
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] adjust rotate direction in tests; NFC 2018-11-15 19:15:41 +00:00
round.ll
salvage-dbg-declare.ll [DebugInfo] Corrections for salvageDebugInfo 2018-07-03 11:29:00 +00:00
saturating-add-sub.ll [InstCombine] Support ssub.sat canonicalization for non-splats 2018-12-01 10:58:34 +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-2.ll
select-binop-cmp.ll [InstCombine] canonicalize -0.0 to +0.0 in fcmp 2018-11-05 17:26:42 +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 [InstCombine] Fold branches with irrelevant conditions to a constant. 2017-08-23 09:14:37 +00:00
select-cmp-cttz-ctlz.ll [PatternMatch] Remove 64-bit or less restriction from m_SpecificInt 2017-06-27 15:39:40 +00:00
select-cmpxchg.ll [InstCombine] Simplify selects that test cmpxchg instructions 2017-10-31 12:34:02 +00:00
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 [InstCombine] remove extract-of-select vector transform (2nd try) 2017-09-25 20:30:53 +00:00
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-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-pr39595.ll [InstCombine] Remove a couple of asserts based on incorrect assumptions 2018-11-14 17:55:07 +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
select_arithmetic.ll [InstCombine] auto-generate complete checks; NFC 2018-02-28 16:53:45 +00:00
select_meta.ll [InstCombine] use 'match' to handle vectors and simplify code 2018-10-23 15:05:12 +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 [InstCombine] fix auto-generated FileCheck-captured variable refs 2017-05-10 14:40:04 +00:00
shift-add.ll
shift-shift.ll
shift-sra.ll [InstCombine] sink sext after ashr 2017-08-15 18:25:52 +00:00
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-narrow.ll [InstCombine] enhance vector demanded elements to look at a vector select condition operand 2018-09-11 18:49:00 +00:00
shuffle_select.ll [InstCombine] drop poison flags in SimplifyVectorDemandedElts 2018-10-04 21:36:50 +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-erased.ll [InstCombine] Fix SimplifyLibCalls erasing an instruction while IC still had references to it. 2018-10-11 14:51:11 +00:00
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-into-catchswitch.ll
sink_instruction.ll
sitofp.ll [InstCombine] auto-generate better checks; NFC 2017-03-21 14:04:44 +00:00
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
srem-simplify-bug.ll
srem1.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 [InstCombine] auto-generate full checks; NFC 2018-11-10 18:51:10 +00:00
storemerge-dbg.ll [InstCombine] Set debug loc on `mergeStoreIntoSuccessor` phi 2018-11-19 19:55:02 +00:00
stpcpy-1.ll
stpcpy-2.ll
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
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-1.ll
strcpy-2.ll
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
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-1.ll
strncpy-2.ll
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
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 Replace hardcoded intrinsic list with speculatable attribute. 2017-05-03 02:26:10 +00:00
sub.ll [InstCombine] use m_Neg() in dyn_castNegVal() to match vectors with undef elts 2018-10-19 17:54:53 +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 [InstCombine] include 'sub' in the list of narrow-able binops 2017-11-16 14:40:51 +00:00
trunc.ll [InstCombine] Consider more cases where SimplifyDemandedUseBits does not convert AShr to LShr. 2017-08-25 11:07:54 +00:00
type_pun.ll Update tests for the patch. 2017-04-14 17:47:07 +00:00
uaddo.ll [InstCombine] add tests for unsigned add overflow; NFC 2018-09-12 21:13:37 +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
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
udivrem-change-width.ll [InstCombine] fix and enhance udiv/urem narrowing 2017-08-24 22:54:01 +00:00
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 [InstSimplify] fold select with implied condition 2018-11-29 18:44:39 +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 Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
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 [InstCombine] Support ~(c-X) --> X+(-c-1) and ~(X-c) --> (-c-1)-X for splat vectors. 2017-08-06 06:28:41 +00:00
vec_sext.ll [InstCombine] try harder to form select from logic ops (2nd try) 2018-10-24 15:17:56 +00:00
vec_shuffle.ll [InstCombine] fix undef propagation bug with shuffle+binop 2018-12-03 21:15:17 +00:00
vector-casts.ll [InstCombine] reverse 'trunc X to <N x i1>' canonicalization; 2nd try 2018-10-10 20:47:46 +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
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
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 TargetLibraryInfo: Stop guessing wchar_t size 2017-09-26 02:36:57 +00:00
wcslen-3.ll Merge isKnownNonNull into isKnownNonZero 2017-09-09 18:23:11 +00:00
wcslen-4.ll TargetLibraryInfo: Stop guessing wchar_t size 2017-09-26 02:36:57 +00:00
weak-symbols.ll
win-math.ll
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] add/move tests for select with inverted condition; NFC 2018-10-23 14:37:29 +00:00
xor2.ll [InstCombine] fix xor-or-xor fold to check uses and handle commutes 2018-09-04 23:22:13 +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

README.txt

This directory contains test cases for the instcombine transformation.  The
dated tests are actual bug tests, whereas the named tests are used to test
for features that the this pass should be capable of performing.