llvm-project/llvm/test/Transforms/InstCombine
Sanjay Patel c6c5965a42 [InstCombine] sub X, sext(bool Y) -> add X, zext(bool Y)
Prefer add/zext because they are better supported in terms of value-tracking.

Note that the backend should be prepared for this IR canonicalization 
(including vector types) after:
https://reviews.llvm.org/rL284015

Differential Revision: https://reviews.llvm.org/D25135

llvm-svn: 284241
2016-10-14 15:24:31 +00:00
..
ARM Enable simplify libcalls for ARM PCS 2016-09-13 12:10:14 +00:00
2003-05-26-CastMiscompile.ll
2003-05-27-ConstExprCrash.ll
2003-06-05-BranchInvertInfLoop.ll
2003-07-21-ExternalConstant.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2003-08-12-AllocaNonNull.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
2003-09-09-VolatileLoadElim.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2003-10-29-CallSiteResolve.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
2003-11-03-VarargsCallBug.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
2004-01-13-InstCombineInvokePHI.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
2004-02-23-ShiftShiftOverflow.ll
2004-03-13-InstCombineInfLoop.ll
2004-04-04-InstCombineReplaceAllUsesWith.ll
2004-05-07-UnsizedCastLoad.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2004-07-27-ConstantExprMul.ll
2004-08-09-RemInfLoop.ll
2004-08-10-BoolSetCC.ll
2004-09-20-BadLoadCombine.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2004-09-20-BadLoadCombine2.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2004-09-28-BadShiftAndSetCC.ll
2004-11-22-Missed-and-fold.ll
2004-11-27-SetCCForCastLargerAndConstant.ll [InstCombine] limit icmp transform to ConstantInt (PR28011) 2016-06-06 16:56:57 +00:00
2004-12-08-RemInfiniteLoop.ll
2005-03-04-ShiftOverflow.ll
2005-04-07-UDivSelectCrash.ll
2005-06-15-DivSelectCrash.ll
2005-06-15-ShiftSetCCCrash.ll
2005-06-16-RangeCrash.ll
2005-06-16-SetCCOrSetCCMiscompile.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
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 [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2006-10-19-SignedToUnsignedCastAndConst-2.ll
2006-10-20-mask.ll
2006-10-26-VectorReassoc.ll
2006-11-10-ashr-miscompile.ll
2006-12-01-BadFPVectorXform.ll [InstCombine] regenerate checks 2016-04-05 17:24:54 +00:00
2006-12-05-fp-to-int-ext.ll
2006-12-08-Phi-ICmp-Op-Fold.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2006-12-08-Select-ICmp.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2006-12-15-Range-Test.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2006-12-23-Select-Cmp-Cmp.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2007-01-13-ExtCompareMiscompile.ll
2007-01-14-FcmpSelf.ll
2007-01-18-VectorInfLoop.ll
2007-02-01-LoadSinkAlloca.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
2007-02-07-PointerCast.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
2007-02-23-PhiFoldInfLoop.ll
2007-03-13-CompareMerge.ll
2007-03-19-BadTruncChangePR1261.ll
2007-03-21-SignedRangeTest.ll [InstCombine] allow icmp (div X, Y), C folds for splat constant vectors 2016-08-31 21:57:21 +00:00
2007-03-25-BadShiftMask.ll update to use FileCheck and auto-generate checks 2016-08-09 19:42:52 +00:00
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 Revert "Remove an InstCombine that seems to have become redundant." 2015-03-24 21:50:35 +00:00
2007-05-18-CastFoldBug.ll
2007-06-06-AshrSignBit.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2007-06-21-DivCompareMiscomp.ll
2007-08-02-InfiniteLoop.ll
2007-09-10-AliasConstFold.ll [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
2007-09-17-AliasConstFold2.ll [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
2007-10-10-EliminateMemCpy.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
2007-10-12-Crash.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
2007-10-28-stacksave.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
2007-10-31-RangeCrash.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2007-10-31-StringCrash.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2007-11-07-OpaqueAlignCrash.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2007-11-15-CompareMiscomp.ll
2007-11-25-CompatibleAttributes.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
2007-12-10-ConstFoldCompare.ll
2007-12-12-GEPScale.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
2007-12-16-AsmNoUnwind.ll
2007-12-18-AddSelCmpSub.ll
2007-12-28-IcmpSub2.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2008-01-06-BitCastAttributes.ll
2008-01-06-CastCrash.ll
2008-01-06-VoidCast.ll
2008-01-13-AndCmpCmp.ll
2008-01-13-NoBitCastAttributes.ll
2008-01-14-VarArgTrampoline.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
2008-01-21-MismatchedCastAndCompare.ll
2008-01-21-MulTrunc.ll
2008-01-27-FloatSelect.ll
2008-01-29-AddICmp.ll [InstCombine] use m_APInt to allow icmp (add X, Y), C folds for splat constant vectors 2016-08-17 15:24:30 +00:00
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 [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2008-04-22-ByValBitcast.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
2008-04-28-VolatileStore.ll
2008-04-29-VolatileLoadDontMerge.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2008-04-29-VolatileLoadMerge.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2008-05-08-LiveStoreDelete.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
2008-05-08-StrLenSink.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
2008-05-09-SinkOfInvoke.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
2008-05-17-InfLoop.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
2008-05-18-FoldIntToPtr.ll
2008-05-22-IDivVector.ll
2008-05-22-NegValVector.ll
2008-05-23-CompareFold.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2008-05-31-AddBool.ll
2008-05-31-Bools.ll
2008-06-05-ashr-crash.ll
2008-06-08-ICmpPHI.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
2008-06-13-InfiniteLoopStore.ll
2008-06-13-ReadOnlyCallStore.ll
2008-06-19-UncondLoad.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2008-06-21-CompareMiscomp.ll
2008-06-24-StackRestore.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
2008-07-08-ShiftOneAndOne.ll update test to FileCheck 2016-06-05 16:29:15 +00:00
2008-07-08-SubAnd.ll
2008-07-08-VolatileLoadMerge.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2008-07-09-SubAndError.ll
2008-07-10-CastSextBool.ll update test to use FileCheck 2016-06-05 16:41:20 +00:00
2008-07-10-ICmpBinOp.ll
2008-07-11-RemAnd.ll
2008-07-13-DivZero.ll
2008-07-16-fsub.ll
2008-08-05-And.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2008-08-17-ICmpXorSignbit.ll [InstCombine] use m_APInt to allow icmp (xor X, Y), C folds for splat constant vectors 2016-08-18 14:10:48 +00:00
2008-09-02-VectorCrash.ll
2008-09-29-FoldingOr.ll
2008-10-11-DivCompareFold.ll
2008-10-23-ConstFoldWithoutMask.ll
2008-11-01-SRemDemandedBits.ll
2008-11-08-FCmp.ll Convert test to FileCheck and use CHECK-LABEL 2014-11-24 23:03:17 +00:00
2008-11-20-DivMulRem.ll
2008-11-27-IDivVector.ll
2008-11-27-MultiplyIntVec.ll
2008-11-27-UDivNegative.ll
2008-12-17-SRemNegConstVec.ll
2009-01-05-i128-crash.ll
2009-01-08-AlignAlloca.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
2009-01-16-PointerAddrSpace.ll
2009-01-19-fmod-constant-float-specials.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
2009-01-19-fmod-constant-float.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2009-01-24-EmptyStruct.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
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 the ScalarReplAggregates pass 2016-06-15 00:19:09 +00:00
2009-02-21-LoadCST.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2009-02-25-CrashZeroSizeArray.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2009-03-18-vector-ashr-crash.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2009-03-20-AShrOverShift.ll
2009-03-24-InfLoop.ll
2009-04-07-MulPromoteToI96.ll
2009-05-23-FCmpToICmp.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2009-06-11-StoreAddrSpace.ll
2009-06-16-SRemDemandedBits.ll
2009-07-02-MaskedIntVector.ll
2009-12-17-CmpSelectNull.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
2010-01-28-NegativeSRem.ll
2010-03-03-ExtElim.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
2010-05-30-memcpy-Struct.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
2010-11-01-lshr-mask.ll
2010-11-21-SizeZeroTypeGEP.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
2010-11-23-Distributed.ll
2011-02-14-InfLoop.ll
2011-03-08-SRemMinusOneBadOpt.ll
2011-05-02-VectorBoolean.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2011-05-13-InBoundsGEP.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
2011-05-28-swapmulsub.ll Reapply "InstCombine: Reduce trunc (shl x, K) width." 2016-09-13 19:43:57 +00:00
2011-06-13-nsw-alloca.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2011-09-03-Trampoline.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
2011-10-07-AlignPromotion.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2012-01-11-OpaqueBitcastCrash.ll
2012-02-13-FCmp.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
2012-02-28-ICmp.ll
2012-03-10-InstCombine.ll
2012-3-15-or-xor-constant.ll
2012-04-23-Neon-Intrinsics.ll
2012-04-24-vselect.ll
2012-04-30-SRem.ll
2012-05-28-select-hang.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2012-06-06-LoadOfPHIs.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2012-6-7-vselect-bitcast.ll
2012-07-25-LoadPart.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
2012-07-30-addrsp-bitcast.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
2012-08-28-udiv_ashl.ll
2012-09-17-ZeroSizedAlloca.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
2012-10-25-vector-of-pointers.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2012-12-14-simp-vgep.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2013-03-05-Combine-BitcastTy-Into-Alloca.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
AddOverFlow.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
CPP_min_max.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
ExtractCast.ll
IntPtrCast.ll
JavaCompare.ll
LandingPadClauses.ll [EH] Keep filter clauses for types that have been caught. 2015-11-17 20:13:04 +00:00
OverlappingInsertvalues.ll
PR30597.ll [InstCombine] Transform !range metadata to !nonnull when combining loads 2016-10-11 01:00:45 +00:00
README.txt
abs-1.ll
abs_abs.ll
add-shrink.ll
add-sitofp.ll
add.ll [InstCombine] use m_APInt to allow icmp eq (add X, C1), C2 folds for splat constant vectors 2016-08-03 22:08:44 +00:00
add2.ll [InstCombine] Generalize sub of selects optimization to all BinaryOperators 2015-07-14 22:39:23 +00:00
add3.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
addnegneg.ll Removed extra whitespace. (Testing commit access). NFC. 2014-12-01 09:27:46 +00:00
addrspacecast.ll Fix constant folding of addrspacecast of null 2016-05-21 00:14:04 +00:00
adjust-for-sminmax.ll
alias-recursion.ll [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
align-2d-gep.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
align-addr.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
align-attr.ll Teach computeKnownBits to look through returned-argument functions 2016-07-11 02:25:14 +00:00
align-external.ll Update enforceKnownAlignment after the isWeakForLinker semantic change 2015-07-14 00:11:08 +00:00
aligned-altivec.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
aligned-qpx.ll [InstCombine/PowerPC] Fix single-precision QPX load/store replacement 2015-05-11 06:37:03 +00:00
all-bits-shift.ll InstCombine: Restrict computeKnownBits() on all Values to OptLevel > 2 2016-03-09 18:47:11 +00:00
alloca.ll [OperandBundles] Have InstCombine play nice with operand bundles 2015-12-23 09:58:41 +00:00
allocsize-32.ll Add the allocsize attribute to LLVM. 2016-04-12 01:05:35 +00:00
allocsize.ll Add the allocsize attribute to LLVM. 2016-04-12 01:05:35 +00:00
amdgcn-intrinsics.ll AMDGPU: Do basic folding of class intrinsic 2016-09-03 07:06:58 +00:00
and-compare.ll [InstCombine] use m_APInt to allow icmp (and X, Y), C folds for splat constant vectors 2016-08-28 18:18:00 +00:00
and-fcmp.ll [InstCombine] Simplify and correct folding fcmps with the same children 2016-06-29 20:10:17 +00:00
and-not-or.ll
and-or-and.ll
and-or-icmps.ll [InstCombine] consolidate some icmp+logic tests and improve checks 2016-06-20 18:40:37 +00:00
and-or-not.ll use FileCheck for tighter checking 2016-03-16 23:20:20 +00:00
and-or.ll [InstCombine] regenerate checks 2016-04-05 17:24:54 +00:00
and-xor-merge.ll Use FileCheck instead of grep. Change by Ankur Garg. 2014-11-27 11:22:49 +00:00
and-xor-or.ll
and.ll [InstCombine] allow vector types for constant folding / computeKnownBits (PR24942) 2016-09-16 21:20:36 +00:00
and2.ll [InstCombine] add tests to show type limitations of InsertRangeTest and callers 2016-08-30 23:16:59 +00:00
apint-add.ll [InstCombine] fold add(zext(xor X, C), C) --> sext X when C is INT_MIN in the source type 2016-07-19 22:09:34 +00:00
apint-and-compare.ll
apint-and-or-and.ll
apint-and-xor-merge.ll [InstCombine] regenerate checks 2016-04-05 17:24:54 +00:00
apint-and1.ll
apint-and2.ll
apint-call-cast-target.ll InstCombine: Bitcast call arguments from/to pointer/integer type 2015-01-06 08:41:31 +00:00
apint-cast-and-cast.ll
apint-cast-cast-to-and.ll
apint-cast.ll
apint-div1.ll
apint-div2.ll
apint-mul1.ll
apint-mul2.ll
apint-not.ll
apint-or.ll Merge or combine tests and convert to FileCheck. 2015-09-08 18:36:56 +00:00
apint-rem1.ll
apint-rem2.ll
apint-select.ll [InstCombine] LogicOpc (zext X), C --> zext (LogicOpc X, C) (PR28476) 2016-07-21 00:24:18 +00:00
apint-shift-simplify.ll
apint-shift.ll [InstCombine] use m_APInt to allow icmp (and (sh X, Y), C2), C1 folds for splat constant vectors 2016-09-07 22:33:03 +00:00
apint-shl-trunc.ll [InstCombine] use m_APInt to allow icmp (and (sh X, Y), C2), C1 folds for splat constant vectors 2016-09-07 22:33:03 +00:00
apint-sub.ll InstCombine: Fix miscompile in X % -Y -> X % Y transform 2014-10-13 22:37:51 +00:00
apint-xor1.ll
apint-xor2.ll
apint-zext1.ll
apint-zext2.ll
assoc-cast-assoc.ll [InstCombine] LogicOpc (zext X), C --> zext (LogicOpc X, C) (PR28476) 2016-07-21 00:24:18 +00:00
assume-loop-align.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
assume-redundant.ll Teach computeKnownBits to use new align attribute/metadata 2015-10-07 16:01:18 +00:00
assume.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
assume2.ll Add additional patterns for @llvm.assume in ValueTracking 2014-09-07 19:21:07 +00:00
atomic.ll Reapply 267210 with fix for PR27490 2016-05-06 22:17:01 +00:00
badmalloc.ll
binop-cast.ll
bit-checks.ll [InstCombine] update to use FileCheck 2016-09-28 19:10:16 +00:00
bit-tracking.ll
bitcast-alias-function.ll [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
bitcast-bigendian.ll [InstCombine] regenerate checks 2016-09-12 00:12:56 +00:00
bitcast-bitcast.ll [InstCombine] allow any pair of bitcasts to be combined 2015-12-12 00:33:36 +00:00
bitcast-sext-vector.ll
bitcast-store.ll InstCombine: Don't combine loads/stores from swifterror to a new type 2016-09-10 18:14:57 +00:00
bitcast-vec-canon.ll [InstCombine] canonicalize (bitcast (extractelement X)) --> (extractelement(bitcast X)) 2015-12-12 16:44:48 +00:00
bitcast.ll [InstCombine] regenerate checks 2016-09-12 00:08:33 +00:00
bitcount.ll
bitreverse-fold.ll Implement constant folding for bitreverse 2016-03-21 15:00:35 +00:00
bitreverse-hang.ll [InstCombine] Rewrite bswap/bitreverse handling completely. 2016-01-15 09:20:19 +00:00
bittest.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
blend_x86.ll [InstCombine] canonicalize vector select with constant vector condition to shuffle 2016-09-16 22:16:18 +00:00
branch.ll If a conditional branch jumps to the same target, remove the condition 2015-03-10 22:52:37 +00:00
bswap-fold.ll Fix a few more cases of 'CHECK[^:]*$'. NFCI 2015-08-10 19:56:39 +00:00
bswap-known-bits.ll Extend known bits to understand @llvm.bswap 2015-10-06 20:20:45 +00:00
bswap.ll [InstCombine] Catch more bswap cases missed due to zext and truncs. 2016-05-26 14:58:51 +00:00
builtin-object-size-offset.ll Calculate __builtin_object_size when pointer depends on a condition 2016-04-13 12:25:25 +00:00
builtin-object-size-ptr.ll Reland r262337 "calculate builtin_object_size if arg is a removable pointer" 2016-03-09 14:12:47 +00:00
call-cast-target-inalloca.ll
call-cast-target.ll InstCombine: Don't fold call bitcast into args if callee is byval 2015-03-11 18:03:05 +00:00
call-intrinsics.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
call.ll Don't remove side effecting instructions due to ConstantFoldInstruction 2016-07-22 04:54:44 +00:00
call2.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
call_nonnull_arg.ll [InstCombineCalls] Use isKnownNonNullAt() to check nullness of passing arguments at callsite 2015-09-14 18:10:43 +00:00
canonicalize_branch.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
cast-call-combine.ll
cast-callee-deopt-bundles.ll [InstCombine] Don't drop operand bundles 2015-11-25 00:42:19 +00:00
cast-int-fcmp-eq-0.ll Broaden optimization of fcmp ([us]itofp x, constant) by instcombine. 2015-09-15 17:51:59 +00:00
cast-mul-select.ll
cast-set.ll auto-ggenerate checks 2016-07-16 16:24:06 +00:00
cast.ll [InstCombine] remove fold of an icmp pattern that should never happen 2016-09-01 14:20:43 +00:00
cast_ptr.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
ceil.ll
compare-alloca.ll InstCombine: Fold comparisons between unguessable allocas and other pointers 2015-10-07 00:20:07 +00:00
compare-signs.ll [InstCombine] use m_APInt to allow icmp (trunc X, Y), C folds for splat constant vectors 2016-08-18 20:28:54 +00:00
compare-udiv.ll [InstCombine] use m_APInt to allow icmp (udiv X, Y), C folds for splat constant vectors 2016-08-18 17:55:59 +00:00
compare-unescaped.ll Fold compares irrespective of whether allocation can be elided 2016-05-03 14:58:21 +00:00
constant-expr-datalayout.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
constant-fold-address-space-pointer.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
constant-fold-alias.ll [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
constant-fold-compare.ll
constant-fold-gep.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
constant-fold-hang.ll Fix an infinite loop in InstCombine when an instruction with no users and side effects can be constant folded. 2015-03-10 05:13:47 +00:00
constant-fold-math.ll Make the sqrt intrinsic return undef for a negative input. 2014-10-01 20:36:33 +00:00
convergent.ll InstCombine: Don't strip convergent from intrinsic callsites 2016-06-20 19:04:44 +00:00
copysign.ll
cos-1.ll
cos-2.ll [LibCallSimplifier] don't get fooled by a fake sqrt() 2016-01-20 17:41:14 +00:00
cos-intrinsic.ll Propagate Undef in llvm.cos Intrinsic 2016-04-08 18:21:11 +00:00
crash.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
ctpop.ll Tighten known bits for ctpop based on zero input bits 2015-10-14 22:42:12 +00:00
dce-iterate.ll
deadcode.ll
debug-line.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
debuginfo.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
default-alignment.ll Teach DataLayout to infer a plausible alignment for things even when nothing is specified by the user. 2015-03-08 21:53:59 +00:00
demand_shrink_nsw.ll InstCombineSimplifyDemanded: Remove nsw/nuw flags when optimizing demanded bits 2015-04-30 22:05:30 +00:00
demorgan-zext.ll [InstCombine] LogicOpc (zext X), C --> zext (LogicOpc X, C) (PR28476) 2016-07-21 00:24:18 +00:00
disable-simplify-libcalls.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
distribute.ll
div-shift-crash.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
div-shift.ll [InstCombine] regenerate checks 2016-05-02 15:06:55 +00:00
div.ll [InstCombine] allow icmp (div X, Y), C folds for splat constant vectors 2016-08-31 21:57:21 +00:00
double-float-shrink-1.ll [LibCallSimplifier] don't get fooled by a fake fmin() 2016-01-21 20:19:54 +00:00
double-float-shrink-2.ll
enforce-known-alignment.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
err-rep-cold.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
exact.ll [InstCombine] add tests to show missing vector folds 2016-09-12 15:51:42 +00:00
exp2-1.ll AMDGPU: mark ldexp LibCalls as unavailable 2015-12-15 17:24:15 +00:00
exp2-2.ll
extractvalue.ll Instcombine: destructor loads of structs that do not contains padding 2015-12-15 01:44:07 +00:00
fabs.ll transform obscured FP sign bit ops into a fabs/fneg using TLI hook 2016-06-02 20:01:37 +00:00
fast-math-scalarization.ll Fix an issue where fast math flags were dropped during scalarization. 2016-03-01 19:35:52 +00:00
fast-math.ll [LibCallSimplifier] don't allow sqrt transform unless all ops are unsafe 2016-01-11 22:50:36 +00:00
fcmp-select.ll
fcmp-special.ll regenerate checks 2016-06-05 17:29:45 +00:00
fcmp.ll InstCombine: fix fold "fcmp x, undef" to account for NaN 2015-03-09 03:20:25 +00:00
fdiv.ll
ffs-1.ll TvOS: add missing support for some libcalls. 2015-11-02 18:00:00 +00:00
float-shrink-compare.ll [SimplifyLibCalls] Improve double->float shrinking to consider constants 2014-12-03 21:46:33 +00:00
fmul.ll InstCombine: fabs(x) * fabs(x) -> x * x 2016-01-30 05:02:00 +00:00
fneg-ext.ll
fold-bin-operand.ll
fold-calls.ll
fold-fops-into-selects.ll
fold-phi-load-metadata.ll Don't passively concatenate MDNodes 2016-08-16 18:48:34 +00:00
fold-phi.ll Minimize test case further 2014-11-04 05:17:58 +00:00
fold-sqrt-sqrtf.ll
fold-vector-select.ll
fold-vector-zero.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
fp-ret-bitcast.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
fpcast.ll [IR] fptrunc-of-fptrunc isn't an EliminableCastPair. 2015-05-29 00:04:30 +00:00
fpextend.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
fpextend_x86.ll
fprintf-1.ll [IR] Straighten out bundle overload of IRBuilder::CreateCall 2016-02-18 20:57:41 +00:00
fputs-1.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
fputs-opt-size.ll Code size optimisation: don't rewrite fputs to fwrite when optimising for size 2016-07-07 13:56:23 +00:00
fsub.ll
fwrite-1.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
gc.relocate.ll Don't propagate dereferenceable attribute through gc.relocate in InstCombine 2016-02-11 11:22:46 +00:00
gep-addrspace.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
gep-sext.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
gepgep.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
gepphigep.ll [InstCombine] Teach instcombine not to create extra PHI nodes when folding GEPs 2015-10-26 10:25:05 +00:00
getelementptr-folding.ll [ConstantFold] Fix incorrect index rewrites for GEPs 2016-05-26 07:08:05 +00:00
getelementptr.ll [InstCombine] use m_APInt to allow icmp (shl X, Y), C folds for splat constant vectors, part 1 2016-08-19 22:33:26 +00:00
hoist_instr.ll
icmp-div-constant.ll fix FileCheck variables for test added with r280677 2016-09-05 23:49:32 +00:00
icmp-logical.ll InstCombine: Fold away tautological masked compares 2014-11-18 09:31:41 +00:00
icmp-range.ll [Bug 24848] Use range metadata to constant fold comparisons between two values 2015-09-26 03:26:47 +00:00
icmp-shr.ll [InstCombine] allow icmp (shr/shl) folds for vectors 2016-09-15 21:35:30 +00:00
icmp-vec.ll [InstCombine] use m_APInt to allow icmp ult X, C folds for splat constant vectors 2016-09-09 21:59:37 +00:00
icmp.ll [InstCombine] allow icmp (shr/shl) folds for vectors 2016-09-15 21:35:30 +00:00
idioms.ll
indexed-gep-compares.ll [InstCombine] Do not RAUW a constant GEP 2016-09-15 20:10:09 +00:00
inline-intrinsic-assert.ll [LibCallSimplifier] use instruction-level fast-math-flags to transform sqrt calls 2016-01-11 22:34:19 +00:00
insert-const-shuf.ll [InstCombine] Fix for PR29124: reduce insertelements to shufflevector 2016-09-23 09:14:08 +00:00
insert-extract-shuffle.ll [InstCombine] avoid an insertelement transformation that induces the opposite extractelement fold (PR26354) 2016-01-29 20:21:02 +00:00
insert-val-extract-elem.ll Optimize store of "bitcast" from vector to aggregate. 2016-04-25 22:22:39 +00:00
intrinsics.ll Make cltz and cttz zero undef when the operand cannot be zero in InstCombine 2016-08-18 20:43:50 +00:00
invariant.ll Revert "Revert "Invariant start/end intrinsics overloaded for address space"" 2016-08-13 23:31:24 +00:00
invoke.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
isascii-1.ll
isdigit-1.ll
known_align.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
lifetime-asan.ll Do not remove empty lifetime.start/lifetime.end ranges 2016-07-28 22:59:03 +00:00
lifetime.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
load-bitcast32.ll Re-apply r238452, the bug was in clang and was fixed in r260567. 2016-02-11 22:30:41 +00:00
load-bitcast64.ll Re-apply r238452, the bug was in clang and was fixed in r260567. 2016-02-11 22:30:41 +00:00
load-cmp.ll [InstCombine] regenerate checks 2016-05-02 15:21:41 +00:00
load-combine-metadata-2.ll Preserve load alignment and dereferenceable metadata during some transformations 2015-11-02 17:53:51 +00:00
load-combine-metadata-3.ll Preserve load alignment and dereferenceable metadata during some transformations 2015-11-02 17:53:51 +00:00
load-combine-metadata-4.ll Preserve load alignment and dereferenceable metadata during some transformations 2015-11-02 17:53:51 +00:00
load-combine-metadata.ll Handle non-constant shifts in computeKnownBits, and use computeKnownBits for constant folding in InstCombine/Simplify 2015-10-23 20:37:08 +00:00
load-select.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
load.ll InstCombine: Don't combine loads/stores from swifterror to a new type 2016-09-10 18:14:57 +00:00
load3.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
load_combine_aa.ll [InstCombine] Employ AliasAnalysis in FindAvailableLoadedValue 2015-07-10 06:55:49 +00:00
loadstore-alignment.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
loadstore-metadata.ll Preserve load alignment and dereferenceable metadata during some transformations 2015-11-02 17:53:51 +00:00
log-pow-nofastmath.ll [SimplifyLibCalls] Remove useless bits of this tests. 2015-11-30 19:38:35 +00:00
log-pow.ll Don't remove side effecting instructions due to ConstantFoldInstruction 2016-07-22 04:54:44 +00:00
logical-select.ll [InstCombine] canonicalize vector select with constant vector condition to shuffle 2016-09-16 22:16:18 +00:00
lshr-phi.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
malloc-free-delete.ll [Analysis] Become aware of MSVC's new/delete functions 2015-12-03 22:45:19 +00:00
masked_intrinsics.ll [InstCombine] Masked loads with undef masks can fold to normal loads 2016-07-14 06:58:42 +00:00
max-of-nots.ll [InstCombine] Add new rule for MIN(MAX(~A, ~B), ~C) et. al. 2015-04-30 04:56:04 +00:00
maxnum.ll Add minnum / maxnum intrinsics 2014-10-21 23:00:20 +00:00
mem-gep-zidx.ll Fix a typo in rL265762 2016-04-17 04:30:43 +00:00
mem-par-metadata-memcpy.ll [InstCombine] Preserve llvm.mem.parallel_loop_access metadata when replacing 2016-09-04 07:49:39 +00:00
memchr.ll [InstCombine] regenerate checks 2016-05-02 15:25:49 +00:00
memcmp-1.ll Optimize memcmp(x,y,n)==0 for small n and suitably aligned x/y. 2015-08-28 18:30:18 +00:00
memcmp-2.ll
memcpy-1.ll
memcpy-2.ll
memcpy-from-global.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
memcpy-to-load.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
memcpy.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
memcpy_chk-1.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
memcpy_chk-2.ll
memmove-1.ll
memmove-2.ll
memmove.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
memmove_chk-1.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
memmove_chk-2.ll
memset-1.ll [LibCallSimplifier] fold memset(malloc(x), 0, x) --> calloc(1, x) 2016-01-26 16:17:24 +00:00
memset-2.ll
memset.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
memset2.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
memset_chk-1.ll Re-apply r238452, the bug was in clang and was fixed in r260567. 2016-02-11 22:30:41 +00:00
memset_chk-2.ll
merge-icmp.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
min-positive.ll [InstCombine] allow (icmp sgt smin(PosA, B), 0) fold for vectors 2016-09-15 16:23:20 +00:00
minmax-fold.ll Reapply r237539 with a fix for the Chromium build. 2015-05-20 18:41:25 +00:00
minmax-fp.ll [ValueTracking] matchSelectPattern needs to be more careful around FP 2016-04-29 18:40:34 +00:00
minnum.ll Fix using wrong intrinsic in test 2015-01-06 23:00:33 +00:00
misc-2002.ll [InstCombine] regenerate checks 2016-04-05 17:24:54 +00:00
mul-masked-bits.ll [InstCombine] regenerate checks 2016-04-05 17:24:54 +00:00
mul.ll [InstCombine] (mul nsw 1, INT_MIN) != (shl nsw 1, 31) 2015-04-18 04:41:30 +00:00
multi-size-address-space-pointer.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
multi-use-or.ll
narrow-switch.ll [InstCombine] shrink switch conditions better (PR24766) 2016-06-30 14:51:21 +00:00
narrow.ll
neon-intrinsics.ll [ARM][NEON] Use address space in vld([1234]|[234]lane) and vst([1234]|[234]lane) instructions 2015-09-30 10:56:37 +00:00
no-negzero.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
no_cgscc_assert.ll [LibCallSimplifier] use instruction-level fast-math-flags to transform sqrt calls 2016-01-11 22:34:19 +00:00
non-integral-pointers.ll [InstCombine] Don't coerce non-integral pointers to integers 2016-08-06 02:58:48 +00:00
nonnull-attribute.ll isKnownNonNull needs to consider globals in non-zero address spaces. 2015-08-27 03:16:29 +00:00
not-fcmp.ll Use FileCheck instead of grep. Change by Sonam. 2014-11-27 10:57:24 +00:00
not.ll fix typos, remove noise; NFCI 2015-09-08 17:58:22 +00:00
nothrow.ll
nsw.ll
obfuscated_splat.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
objsize-64.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
objsize-address-space.ll [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
objsize-noverify.ll Verifier: Call verifyModule() from llc and opt 2015-03-27 22:04:28 +00:00
objsize.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
odr-linkage.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
onehot_merge.ll
opaque.ll [InstCombine] Fix assertion when bitcast is converted to gep 2016-05-23 19:23:17 +00:00
or-fcmp.ll [InstCombine] Simplify and correct folding fcmps with the same children 2016-06-29 20:10:17 +00:00
or-to-xor.ll update tests to use FileCheck 2016-06-25 17:39:10 +00:00
or-xor.ll [InstCombine] add tests to show pattern matching failures due to commutation 2016-09-09 16:35:20 +00:00
or.ll [InstCombine] add tests to show pattern matching failures due to commutation 2016-09-09 16:35:20 +00:00
osx-names.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
overflow-mul.ll Make DataLayout Non-Optional in the Module 2015-03-04 18:43:29 +00:00
overflow.ll [InstCombine][CodeGenPrep] Create llvm.uadd.with.overflow in CGP. 2015-04-10 21:07:09 +00:00
phi-load-metadata-2.ll Preserve load alignment and dereferenceable metadata during some transformations 2015-11-02 17:53:51 +00:00
phi-load-metadata-3.ll Preserve load alignment and dereferenceable metadata during some transformations 2015-11-02 17:53:51 +00:00
phi-load-metadata.ll Preserve load alignment and dereferenceable metadata during some transformations 2015-11-02 17:53:51 +00:00
phi-merge-gep.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
phi-preserve-ir-flags.ll [InstCombine] Preserve fast math flags when combining PHIs 2016-04-22 11:21:36 +00:00
phi-select-constexpr.ll
phi.ll Revert "[ValueTracking] Teach computeKnownBits for PHI nodes to compute sign bit for a recurrence with a NSW addition." 2016-06-29 04:57:00 +00:00
pow-1.ll [SLC] Emit an intrinsic instead of a libcall for pow. 2016-08-07 20:27:03 +00:00
pow-2.ll
pow-3.ll
pow-4.ll [LibCallSimplifier] use instruction-level fast-math-flags to transform pow(x, [small integer]) calls 2016-01-19 18:15:12 +00:00
pow-exp-nofastmath.ll [SimplifyLibCalls] Add a new transformation: pow(exp(x), y) -> exp(x*y) 2015-11-03 20:32:23 +00:00
pow-exp.ll [LibCallSimplifier] use instruction-level fast-math-flags to transform pow(exp(x)) calls 2016-01-12 17:30:37 +00:00
pow-sqrt.ll [SimplifyLibCalls] Restore the old behaviour, emit a libcall. 2016-08-10 06:33:32 +00:00
pr2645-0.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
pr2645-1.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
pr2996.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
pr12251.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
pr12338.ll [InstCombine] Re-commit of r218721 (Optimize icmp-select-icmp sequence) 2014-11-21 23:36:44 +00:00
pr17827.ll [InstCombine] use m_APInt to allow icmp ult X, C folds for splat constant vectors 2016-09-09 21:59:37 +00:00
pr19420.ll
pr20079.ll IR: Fold away compares between GV GEPs and GVs 2014-07-04 22:05:26 +00:00
pr20678.ll [ConstantFolding, ValueTracking] Fold constants involving bitcasts of ConstantVector 2016-05-04 06:13:33 +00:00
pr21199.ll [InstCombine] Re-commit of r218721 (Optimize icmp-select-icmp sequence) 2014-11-21 23:36:44 +00:00
pr21210.ll [InstCombine] Sharpended test case in pr21210.ll 2016-04-27 17:19:54 +00:00
pr21651.ll [InstCombine] shrink switch conditions better (PR24766) 2016-06-30 14:51:21 +00:00
pr21891.ll ValueTracking: Don't recurse too deeply in computeKnownBitsFromAssume 2014-12-12 23:59:29 +00:00
pr23751.ll [InstCombine] Fix PR23751. 2015-06-05 18:04:42 +00:00
pr23809.ll [InstCombine] call SimplifyICmpInst with correct context 2015-06-25 20:14:47 +00:00
pr24354.ll Fix PR24354. 2015-08-11 21:33:55 +00:00
pr24605.ll [InstCombine] Fix PR24605. 2015-08-28 19:09:31 +00:00
pr25745.ll [InstCombine] Call getCmpPredicateForMinMax only with a valid SPF 2015-12-05 23:44:22 +00:00
pr26992.ll [InstCombine] Don't insert instructions before a catch switch 2016-03-19 04:39:52 +00:00
pr26993.ll [SimplifyLibCalls] Only consider sinpi/cospi functions within the same function 2016-03-19 04:53:02 +00:00
pr27236.ll [InstCombine] Fix miscompile in FoldSPFofSPF 2016-04-08 16:51:49 +00:00
pr27332.ll [InstCombine] Don't transform compares of calls to functions named fabs{f,l,} 2016-04-15 17:21:03 +00:00
pr28143.ll [TargetLibraryInfo] Teach isValidProtoForLibFunc about tan 2016-06-15 16:47:23 +00:00
preserve-sminmax.ll
prevent-cmp-merge.ll [InstCombine] Don't aggressively replace xor with icmp 2016-02-12 18:12:38 +00:00
printf-1.ll Optimize a printf with a double procent to putchar. 2016-05-09 14:36:16 +00:00
printf-2.ll [SimplifyLibCalls] Transform printf("%s", "a") -> putchar('a'). 2016-03-28 15:54:01 +00:00
printf-3.ll Add test for r256912 2016-01-07 19:27:16 +00:00
ptr-int-cast.ll
puts-1.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
range-check.ll InstCombine: simplify signed range checks 2014-12-03 10:39:15 +00:00
rem.ll [InstCombine] use m_APInt to allow icmp eq (srem X, C1), C2 folds for splat constant vectors 2016-08-03 19:48:40 +00:00
round.ll
sdiv-1.ll
sdiv-2.ll
select-2.ll
select-bitext.ll [InstCombine] fold select X, (ext X), C 2016-10-07 17:53:07 +00:00
select-cmp-br.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
select-cmp-cttz-ctlz.ll [InstCombine] Fix regression introduced at r227197. 2015-02-13 16:33:34 +00:00
select-crash-noverify.ll Verifier: Call verifyModule() from llc and opt 2015-03-27 22:04:28 +00:00
select-crash.ll Verifier: Call verifyModule() from llc and opt 2015-03-27 22:04:28 +00:00
select-extractelement.ll
select-implied.ll [ValueTracking] Improve isImpliedCondition for matching LHS and Imm RHSs. 2016-05-05 15:39:18 +00:00
select-load-call.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
select-select.ll InstCombine: Ensure select condition types are identical before merging 2015-03-03 22:40:36 +00:00
select.ll [InstCombine] canonicalize vector select with constant vector condition to shuffle 2016-09-16 22:16:18 +00:00
select_meta.ll [Profile] Propagate branch metadata properly in instcombine 2016-08-25 00:26:32 +00:00
set.ll fix checks 2016-06-05 17:54:56 +00:00
setcc-strength-reduce.ll
sext.ll [ValueTracking] Teach computeKnownBits about [su]min/max 2016-08-06 08:16:00 +00:00
shift-shift.ll [InstCombine] consolidate tests for related bugs 2016-04-11 17:58:37 +00:00
shift-sra.ll
shift.ll [InstCombine] use m_APInt to allow icmp X, C folds for splat constant vectors 2016-09-12 16:25:41 +00:00
shufflemask-undef.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
shufflevec-constant.ll [InstCombine] regenerate checks 2016-04-05 17:24:54 +00:00
sign-test-and-or.ll minimize tests and auto-generate checks 2016-07-20 17:58:20 +00:00
signed-comparison.ll [InstCombine] allow vector constants for cast+icmp fold 2016-06-04 22:04:05 +00:00
signext.ll auto-generate checks 2016-07-16 16:27:58 +00:00
simplify-demanded-bits-pointer.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
simplify-libcalls.ll [TLI] isdigit / isascii / toascii param type should match return type (PR30484) 2016-09-23 18:44:09 +00:00
sincospi.ll [SimplifyLibCalls] Don't depend on a called function having a name, it might be an indirect call. 2015-11-26 09:51:17 +00:00
sink-into-catchswitch.ll [InstCombine] Don't sink an instr after a catchswitch 2016-04-01 17:28:17 +00:00
sink_instruction.ll [InstCombine] Allow sinking from unique predecessor with multiple edges 2016-08-22 18:21:56 +00:00
sitofp.ll InstCombine: fold more cases of (fp_to_u/sint (u/sint_to_fp val)) 2015-02-16 21:47:54 +00:00
sprintf-1.ll Revert "[SimplifyLibCalls] sprintf doesn't copy null bytes" 2016-04-26 21:04:47 +00:00
sqrt-nofast.ll [SimplifyLibCalls] Add test to ensure transform is not executed if fast-math 2015-10-31 20:59:32 +00:00
sqrt.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
srem-simplify-bug.ll
srem.ll
srem1.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
stack-overalign.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
stacksaverestore.ll [InstCombine] Be more conservative about removing stackrestore 2016-02-27 00:53:54 +00:00
statepoint.ll [gc.statepoint] Change gc.statepoint intrinsic's return type to token type instead of i32 type 2015-12-26 07:54:32 +00:00
store.ll [InstCombine] Extend peephole DSE to handle unordered atomics 2015-12-17 22:19:27 +00:00
stpcpy-1.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
stpcpy-2.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
stpcpy_chk-1.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
stpcpy_chk-2.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
strcat-1.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
strcat-2.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
strcat-3.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
strchr-1.ll [SimplifyLibCalls] Turn memchr(const, C, const) into a bitfield check. 2015-03-21 21:09:33 +00:00
strchr-2.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
strcmp-1.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
strcmp-2.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
strcpy-1.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
strcpy-2.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
strcpy_chk-1.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
strcpy_chk-2.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
strcpy_chk-64.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
strcspn-1.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
strcspn-2.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
strlen-1.ll Simplify strlen to a subtraction for certain cases. 2016-04-13 14:31:06 +00:00
strlen-2.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
strncat-1.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
strncat-2.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
strncat-3.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
strncmp-1.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
strncmp-2.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
strncpy-1.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
strncpy-2.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
strncpy_chk-1.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
strncpy_chk-2.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
strpbrk-1.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
strpbrk-2.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
strrchr-1.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
strrchr-2.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
strspn-1.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
strstr-1.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
strstr-2.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
strto-1.ll [attrs] Extract the pure inference of function attributes into 2015-12-27 08:41:34 +00:00
struct-assign-tbaa.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
sub-xor.ll InstCombine: Annotate sub with nsw when we prove it's safe 2014-08-19 23:36:30 +00:00
sub.ll [InstCombine] sub X, sext(bool Y) -> add X, zext(bool Y) 2016-10-14 15:24:31 +00:00
switch-constant-expr.ll [InstCombine] Fix constexpr issue in select combining 2016-10-12 10:20:15 +00:00
switch-truncate-crash.ll Fix a crash in InstCombine where we could try to truncate a switch comparison to zero width. 2015-03-10 06:51:39 +00:00
tan-nofastmath.ll [SimplifyLibCalls] New transformation: tan(atan(x)) -> x 2015-11-04 23:36:56 +00:00
tan.ll [LibCallSimplifier] use instruction-level fast-math-flags for tan/atan transform 2016-01-06 19:23:35 +00:00
tbaa-store-to-load.ll [InstCombine] Don't widen metadata on store-to-load forwarding 2016-06-16 02:33:42 +00:00
toascii-1.ll
token.ll [InstructionCombining] prepareICWorklistFromFunction halts in infinite loop with instructions of token type 2016-01-04 23:28:57 +00:00
trunc.ll [InstCombine] allow vector types for constant folding / computeKnownBits (PR24942) 2016-09-16 21:20:36 +00:00
type_pun.ll Make DataLayout Non-Optional in the Module 2015-03-04 18:43:29 +00:00
udiv-simplify.ll [InstCombine] Teach the udiv folding logic how to handle constant expressions. 2016-09-26 12:07:23 +00:00
udiv_select_to_select_shift.ll
udivrem-change-width.ll
unordered-fcmp-select.ll Bug 21610: Canonicalize min/max fcmp selects to use ordered comparisons 2014-11-24 23:15:18 +00:00
unpack-fca.ll [InstCombine] Don't unpack arrays that are too large (part 2). 2016-10-07 21:53:09 +00:00
urem-simplify-bug.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
urem.ll [InstCombine] sub X, sext(bool Y) -> add X, zext(bool Y) 2016-10-14 15:24:31 +00:00
vararg.ll [InstCombine] Remove trivially empty va_start/va_end and va_copy/va_end ranges. 2016-05-10 09:24:49 +00:00
vec_demanded_elts.ll [InstCombine] Fixed bug introduced in r282237 2016-09-26 13:18:59 +00:00
vec_extract_2elts.ll
vec_extract_elt.ll
vec_extract_var_elt.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
vec_insertelt.ll
vec_narrow.ll
vec_phi_extract.ll [InstCombine] scalarizePHI should not assume the code it sees has been CSE'd 2016-06-06 23:38:33 +00:00
vec_sext.ll [InstCombine] use m_APInt to allow icmp X, C folds for splat constant vectors 2016-09-12 16:25:41 +00:00
vec_shuffle.ll [InstCombine] fix propagation of fast-math-flags 2015-11-24 17:51:20 +00:00
vector-casts.ll clean up tests and auto-generate checks 2016-09-30 18:37:34 +00:00
vector-mul.ll
vector-srem.ll
vector-type.ll
vector_gep1.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
vector_gep2.ll Fixed GEP visitor in the InstCombine pass. 2015-11-15 08:19:35 +00:00
vector_insertelt_shuffle.ll [InstCombine] Fix for PR29124: reduce insertelements to shufflevector 2016-09-23 09:14:08 +00:00
volatile_store.ll [InstCombine] regenerate checks 2016-04-05 17:24:54 +00:00
vsx-unaligned.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
weak-symbols.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
win-math.ll
x86-avx.ll Dropped FIXME comment 2016-05-01 20:33:25 +00:00
x86-avx2.ll [InstCombine][SSE] Added support to VPERMD/VPERMPS to shuffle combine to accept UNDEF elements. 2016-05-01 20:43:02 +00:00
x86-crc32-demanded.ll
x86-f16c.ll [InstCombine][X86] Regenerate SSE combine tests as part of setup for D17490 2016-04-19 12:56:46 +00:00
x86-insertps.ll [InstCombine] Fix for PR29124: reduce insertelements to shufflevector 2016-09-23 09:14:08 +00:00
x86-masked-memops.ll [InstCombine][X86] Regenerate masked memory op combine tests 2016-09-08 16:32:37 +00:00
x86-movmsk.ll [InstCombine][SSE] Add MOVMSK constant folding (PR27982) 2016-06-07 08:18:35 +00:00
x86-pshufb.ll [InstCombine][SSE] Added support to PSHUFB to shuffle combine to accept UNDEF elements. 2016-05-01 19:26:21 +00:00
x86-sse.ll [InstCombine][SSE] Reduce DIVSS/DIVSD to FDIV if only first element is required 2016-04-24 18:35:59 +00:00
x86-sse2.ll [InstCombine][SSE] Reduce DIVSS/DIVSD to FDIV if only first element is required 2016-04-24 18:35:59 +00:00
x86-sse4a.ll [ConstantFold] Improve the bitcast folding logic for constant vectors. 2016-09-13 14:50:47 +00:00
x86-sse41.ll [InstCombine][SSE] Demanded vector elements for scalar intrinsics (Part 2 of 2) 2016-04-24 18:23:14 +00:00
x86-vector-shifts.ll [InstCombine][AVX2] Add support for simplifying AVX2 per-element shifts to native shifts 2016-06-07 10:27:15 +00:00
x86-vperm2.ll [InstCombine][X86] Regenerate vperm2f128/vperm2i128 combine tests 2016-09-08 16:30:46 +00:00
x86-xop.ll [InstCombine][SSE] Demanded vector elements for scalar intrinsics (Part 2 of 2) 2016-04-24 18:23:14 +00:00
xor-undef.ll
xor.ll [InstCombine] use m_APInt to allow icmp (binop X, Y), C folds with constant splat vectors 2016-08-03 18:59:03 +00:00
xor2.ll [InstCombine] add tests to show pattern matching failures due to commutation 2016-09-09 16:35:20 +00:00
zero-point-zero-add.ll [InstCombine] We folded an fcmp to an i1 instead of a vector of i1 2016-04-13 06:55:52 +00:00
zeroext-and-reduce.ll [InstCombine] LogicOpc (zext X), C --> zext (LogicOpc X, C) (PR28476) 2016-07-21 00:24:18 +00:00
zext-bool-add-sub.ll add more tests for PR30273 2016-09-12 22:28:29 +00:00
zext-fold.ll [InstCombine] regenerate checks 2016-04-05 17:24:54 +00:00
zext-or-icmp.ll [InstCombine] Refactor optimization of zext(or(icmp, icmp)) to enable more aggressive cast-folding 2016-08-03 19:30:35 +00:00
zext.ll [InstCombine] Refactor optimization of zext(or(icmp, icmp)) to enable more aggressive cast-folding 2016-08-03 19:30:35 +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.