1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-24 05:23:45 +02:00
llvm-mirror/test/Transforms/InstCombine
Reid Kleckner 66e4d3276a [IR] Straighten out bundle overload of IRBuilder::CreateCall
IRBuilder has two ways of putting bundle operands on calls: the default
operand bundle, and an overload of CreateCall that takes an operand
bundle list.

Previously, this overload used a default argument of None. This made it
impossible to distinguish between the case were the caller doesn't care
about bundles, and the case where the caller explicitly wants no
bundles. We behaved as if they wanted the latter behavior rather than
the former, which led to problems with simplifylibcalls and WinEH.

This change fixes it by making the parameter non-optional, so we can
distinguish these two cases.

llvm-svn: 261258
2016-02-18 20:57:41 +00:00
..
2002-03-11-InstCombineHang.ll
2002-05-14-SubFailure.ll
2002-08-02-CastTest.ll
2002-12-05-MissedConstProp.ll
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 [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
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
2004-07-27-ConstantExprMul.ll
2004-08-09-RemInfLoop.ll
2004-08-10-BoolSetCC.ll
2004-09-20-BadLoadCombine2.ll
2004-09-20-BadLoadCombine.ll
2004-09-28-BadShiftAndSetCC.ll
2004-11-22-Missed-and-fold.ll
2004-11-27-SetCCForCastLargerAndConstant.ll
2004-12-08-RemInfiniteLoop.ll
2005-03-04-ShiftOverflow.ll
2005-04-07-UDivSelectCrash.ll
2005-06-15-DivSelectCrash.ll
2005-06-15-ShiftSetCCCrash.ll
2005-06-16-RangeCrash.ll
2005-06-16-SetCCOrSetCCMiscompile.ll
2005-07-07-DeadPHILoop.ll
2006-02-13-DemandedMiscompile.ll
2006-02-28-Crash.ll
2006-03-30-ExtractElement.ll
2006-04-28-ShiftShiftLongLong.ll
2006-05-04-DemandedBitCrash.ll
2006-09-15-CastToBool.ll
2006-10-19-SignedToUnsignedCastAndConst-2.ll
2006-10-20-mask.ll
2006-10-26-VectorReassoc.ll
2006-11-10-ashr-miscompile.ll
2006-12-01-BadFPVectorXform.ll
2006-12-05-fp-to-int-ext.ll
2006-12-08-Phi-ICmp-Op-Fold.ll
2006-12-08-Select-ICmp.ll
2006-12-15-Range-Test.ll
2006-12-23-Select-Cmp-Cmp.ll
2007-01-13-ExtCompareMiscompile.ll
2007-01-14-FcmpSelf.ll
2007-01-18-VectorInfLoop.ll
2007-01-27-AndICmp.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
2007-03-25-BadShiftMask.ll
2007-03-25-DoubleShift.ll
2007-03-26-BadShiftMask.ll
2007-04-08-SingleEltVectorCrash.ll
2007-05-10-icmp-or.ll
2007-05-14-Crash.ll
2007-05-18-CastFoldBug.ll
2007-06-06-AshrSignBit.ll
2007-06-21-DivCompareMiscomp.ll
2007-08-02-InfiniteLoop.ll
2007-09-10-AliasConstFold.ll [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
2007-10-28-stacksave.ll
2007-10-31-RangeCrash.ll
2007-10-31-StringCrash.ll
2007-11-07-OpaqueAlignCrash.ll
2007-11-15-CompareMiscomp.ll
2007-11-22-IcmpCrash.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
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-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
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 [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
2008-04-29-VolatileLoadMerge.ll
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
2008-05-18-FoldIntToPtr.ll
2008-05-22-IDivVector.ll
2008-05-22-NegValVector.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 [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
2008-06-21-CompareMiscomp.ll
2008-06-24-StackRestore.ll
2008-07-08-AndICmp.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-10-ICmpBinOp.ll
2008-07-11-RemAnd.ll
2008-07-13-DivZero.ll
2008-07-16-fsub.ll
2008-07-16-sse2_storel_dq.ll
2008-08-05-And.ll
2008-08-17-ICmpXorSignbit.ll
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
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
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 Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
2009-02-21-LoadCST.ll
2009-02-25-CrashZeroSizeArray.ll
2009-03-18-vector-ashr-crash.ll
2009-03-20-AShrOverShift.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 [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
2010-11-23-Distributed.ll
2011-02-14-InfLoop.ll
2011-03-08-SRemMinusOneBadOpt.ll
2011-05-02-VectorBoolean.ll
2011-05-13-InBoundsGEP.ll
2011-05-28-swapmulsub.ll
2011-06-13-nsw-alloca.ll
2011-09-03-Trampoline.ll
2011-10-07-AlignPromotion.ll
2012-3-15-or-xor-constant.ll
2012-6-7-vselect-bitcast.ll
2012-01-11-OpaqueBitcastCrash.ll
2012-02-13-FCmp.ll [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-04-23-Neon-Intrinsics.ll
2012-04-24-vselect.ll
2012-04-30-SRem.ll
2012-05-27-Negative-Shift-Crash.ll
2012-05-28-select-hang.ll
2012-06-06-LoadOfPHIs.ll
2012-07-25-LoadPart.ll
2012-07-30-addrsp-bitcast.ll
2012-08-28-udiv_ashl.ll
2012-09-17-ZeroSizedAlloca.ll
2012-10-25-vector-of-pointers.ll
2012-12-14-simp-vgep.ll
2013-03-05-Combine-BitcastTy-Into-Alloca.ll
abs_abs.ll
abs-1.ll
add2.ll [InstCombine] Generalize sub of selects optimization to all BinaryOperators 2015-07-14 22:39:23 +00:00
add3.ll
add-shrink.ll
add-sitofp.ll
add.ll
addnegneg.ll
AddOverFlow.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
addrspacecast.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +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
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
align-external.ll Update enforceKnownAlignment after the isWeakForLinker semantic change 2015-07-14 00:11:08 +00:00
aligned-altivec.ll
aligned-qpx.ll [InstCombine/PowerPC] Fix single-precision QPX load/store replacement 2015-05-11 06:37:03 +00:00
all-bits-shift.ll Handle non-constant shifts in computeKnownBits, and use computeKnownBits for constant folding in InstCombine/Simplify 2015-10-23 20:37:08 +00:00
alloca.ll [OperandBundles] Have InstCombine play nice with operand bundles 2015-12-23 09:58:41 +00:00
amdgcn-intrinsics.ll AMDGPU: Rename intrinsics to use amdgcn prefix 2016-01-22 21:30:34 +00:00
and2.ll [InstCombine] transform masking off of an FP sign bit into a fabs() intrinsic call (PR24886) 2015-10-08 17:09:31 +00:00
and-compare.ll [InstCombine] Replace an and+icmp with a trunc+icmp 2015-08-16 07:09:17 +00:00
and-fcmp.ll
and-not-or.ll
and-or-and.ll
and-or-not.ll
and-or.ll
and-xor-merge.ll
and-xor-or.ll
and.ll
apint-add1.ll
apint-add2.ll
apint-and1.ll
apint-and2.ll
apint-and-compare.ll
apint-and-or-and.ll
apint-and-xor-merge.ll
apint-call-cast-target.ll
apint-cast-and-cast.ll
apint-cast-cast-to-and.ll
apint-cast.ll
apint-div1.ll
apint-div2.ll
apint-mul1.ll
apint-mul2.ll
apint-not.ll
apint-or.ll 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
apint-shift-simplify.ll
apint-shift.ll
apint-shl-trunc.ll
apint-sub.ll
apint-xor1.ll
apint-xor2.ll
apint-zext1.ll
apint-zext2.ll
assume2.ll
assume-loop-align.ll
assume-redundant.ll Teach computeKnownBits to use new align attribute/metadata 2015-10-07 16:01:18 +00:00
assume.ll
atomic.ll
badmalloc.ll
binop-cast.ll
bit-checks.ll
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
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
bitcast-vec-canon.ll [InstCombine] canonicalize (bitcast (extractelement X)) --> (extractelement(bitcast X)) 2015-12-12 16:44:48 +00:00
bitcast-vec-uniform.ll
bitcast-vector-fold.ll
bitcast.ll [InstCombine] fold bitcasts around an extractelement (3rd try) 2015-12-10 17:09:28 +00:00
bitcount.ll
bitreverse-fold.ll [InstCombine] Add trivial folding (bitreverse (bitreverse x)) -> x 2015-11-12 12:39:41 +00:00
bitreverse-hang.ll [InstCombine] Rewrite bswap/bitreverse handling completely. 2016-01-15 09:20:19 +00:00
bittest.ll
blend_x86.ll [InstCombine] Move SSE/AVX vector blend folding to instcombiner 2015-08-12 08:08:56 +00:00
branch.ll
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] Recognize another bswap idiom. 2015-09-24 10:24:58 +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
call-cast-target-inalloca.ll
call-cast-target.ll
call-intrinsics.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
call.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
canonicalize_branch.ll
cast_ptr.ll
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 Fix a bunch of trivial cases of 'CHECK[^:]*$' in the tests. NFCI 2015-08-10 19:01:27 +00:00
cast.ll Instcombine: destructor loads of structs that do not contains padding 2015-12-15 01:44:07 +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] Optimize icmp slt signum(x), 1 --> icmp slt x, 1 2015-09-16 20:41:29 +00:00
constant-expr-datalayout.ll
constant-fold-address-space-pointer.ll
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
constant-fold-hang.ll
constant-fold-math.ll
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
CPP_min_max.ll
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 DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
debuginfo.ll DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
default-alignment.ll
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] match De Morgan's Law hidden by zext ops (PR22723) 2015-09-25 23:21:38 +00:00
disable-simplify-libcalls.ll
distribute.ll
div-shift-crash.ll
div-shift.ll
div.ll Handle non-constant shifts in computeKnownBits, and use computeKnownBits for constant folding in InstCombine/Simplify 2015-10-23 20:37:08 +00:00
dom-conditions.ll
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
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
exp2-1.ll AMDGPU: mark ldexp LibCalls as unavailable 2015-12-15 17:24:15 +00:00
exp2-2.ll
ExtractCast.ll
extractvalue.ll Instcombine: destructor loads of structs that do not contains padding 2015-12-15 01:44:07 +00:00
fabs.ll [ValueTracking] teach computeKnownBits that a fabs() clears sign bits 2015-10-08 16:56:55 +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
fcmp.ll
fdiv.ll
ffs-1.ll TvOS: add missing support for some libcalls. 2015-11-02 18:00:00 +00:00
float-shrink-compare.ll
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 [InstCombine] Preserve metadata when merging loads that are phi 2015-09-23 18:40:57 +00:00
fold-phi.ll
fold-sqrt-sqrtf.ll
fold-vector-select.ll
fold-vector-zero.ll
fp-ret-bitcast.ll
fpcast.ll [IR] fptrunc-of-fptrunc isn't an EliminableCastPair. 2015-05-29 00:04:30 +00:00
fpextend_x86.ll
fpextend.ll
fprintf-1.ll [IR] Straighten out bundle overload of IRBuilder::CreateCall 2016-02-18 20:57:41 +00:00
fputs-1.ll
fsub.ll
fwrite-1.ll
gc.relocate.ll Don't propagate dereferenceable attribute through gc.relocate in InstCombine 2016-02-11 11:22:46 +00:00
gep-addrspace.ll
gep-sext.ll
gepgep.ll
gepphigep.ll [InstCombine] Teach instcombine not to create extra PHI nodes when folding GEPs 2015-10-26 10:25:05 +00:00
getelementptr.ll Limiting gep merging to fix the performance problem described in 2015-04-21 23:02:15 +00:00
hoist_instr.ll
icmp-logical.ll
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] FoldICmpCstShrCst failed for ashr when comparing against -1 2015-09-19 00:48:31 +00:00
icmp.ll [InstCombine] Don't transform (X+INT_MAX)>=(Y+INT_MAX) -> (X<=Y) 2016-02-01 17:37:56 +00:00
idioms.ll
indexed-gep-compares.ll Re-commit r257064, after it was reverted in r257340. 2016-01-15 15:52:05 +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-extract-shuffle.ll [InstCombine] avoid an insertelement transformation that induces the opposite extractelement fold (PR26354) 2016-01-29 20:21:02 +00:00
IntPtrCast.ll
intrinsics.ll Constfold trunc,rint,nearbyint,ceil and floor using APFloat 2015-07-21 08:52:23 +00:00
invariant.ll
invoke.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
isascii-1.ll
isdigit-1.ll
JavaCompare.ll
known_align.ll
LandingPadClauses.ll [EH] Keep filter clauses for types that have been caught. 2015-11-17 20:13:04 +00:00
lifetime.ll DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
load3.ll
load_combine_aa.ll [InstCombine] Employ AliasAnalysis in FindAvailableLoadedValue 2015-07-10 06:55:49 +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 Do (A == C1 || A == C2) -> (A & ~(C1 ^ C2)) == C1 rather than (A == C1 || A == C2) -> (A | (C1 ^ C2)) == C2 when C1 ^ C2 is a power of 2. 2015-12-02 16:15:07 +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
load.ll
loadstore-alignment.ll
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 [LibCallSimplifier] use instruction-level fast-math-flags to transform log calls 2016-01-11 23:31:48 +00:00
logical-select.ll
lshr-phi.ll
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] simplify masked scatter/gather intrinsics with zero masks 2016-02-01 22:10:26 +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
mem-gep-zidx.ll
memchr.ll
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_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
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
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
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
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
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
merge-icmp.ll
minmax-fold.ll Reapply r237539 with a fix for the Chromium build. 2015-05-20 18:41:25 +00:00
minmax-fp.ll Add support for floating-point minnum and maxnum 2015-08-11 09:12:57 +00:00
minnum.ll
mul-masked-bits.ll
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
multi-use-or.ll
narrow-switch.ll
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_cgscc_assert.ll [LibCallSimplifier] use instruction-level fast-math-flags to transform sqrt calls 2016-01-11 22:34:19 +00:00
no-negzero.ll
nonnull-attribute.ll isKnownNonNull needs to consider globals in non-zero address spaces. 2015-08-27 03:16:29 +00:00
not-fcmp.ll
not.ll fix typos, remove noise; NFCI 2015-09-08 17:58:22 +00:00
nothrow.ll
nsw.ll
obfuscated_splat.ll
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
objsize.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
odr-linkage.ll
onehot_merge.ll
or-fcmp.ll
or-to-xor.ll
or-xor.ll
or.ll Do (A == C1 || A == C2) -> (A & ~(C1 ^ C2)) == C1 rather than (A == C1 || A == C2) -> (A | (C1 ^ C2)) == C2 when C1 ^ C2 is a power of 2. 2015-12-02 16:15:07 +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
overflow.ll [InstCombine][CodeGenPrep] Create llvm.uadd.with.overflow in CGP. 2015-04-10 21:07:09 +00:00
OverlappingInsertvalues.ll
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
phi-select-constexpr.ll
phi.ll [InstCombine] Simplify a known nonzero incoming value of PHI 2016-02-11 15:50:07 +00:00
pow-1.ll TvOS: add missing support for some libcalls. 2015-11-02 18:00:00 +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 [LibCallSimplifier] use instruction-level fast-math-flags to transform pow(x, 0.5) calls 2016-01-12 19:06:35 +00:00
pr2645-0.ll
pr2645-1.ll
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
pr8547.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
pr12338.ll
pr17827.ll
pr19420.ll
pr20079.ll
pr21199.ll
pr21210.ll
pr21651.ll
pr21891.ll
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
PR7357.ll
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 [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
printf-2.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
printf-3.ll Add test for r256912 2016-01-07 19:27:16 +00:00
ptr-int-cast.ll
puts-1.ll
range-check.ll
README.txt
rem.ll
round.ll
sdiv-1.ll
sdiv-2.ll
select-2.ll
select-cmp-br.ll
select-cmp-cttz-ctlz.ll
select-crash-noverify.ll
select-crash.ll
select-extractelement.ll
select-load-call.ll
select-select.ll
select.ll Push isDereferenceableAndAlignedPointer down into isSafeToLoadUnconditionally 2016-01-17 12:35:29 +00:00
set.ll
setcc-strength-reduce.ll
sext.ll
shift-sra.ll
shift.ll Have a single way for creating unique value names. 2015-11-22 00:16:24 +00:00
shufflemask-undef.ll
shufflevec-constant.ll
sign-test-and-or.ll
signed-comparison.ll
signext.ll
simplify-demanded-bits-pointer.ll
simplify-libcalls.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +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_instruction.ll
sitofp.ll
sprintf-1.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +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
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
srem-simplify-bug.ll
srem.ll
stack-overalign.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
stacksaverestore.ll
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_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
stpcpy-1.ll
stpcpy-2.ll
strcat-1.ll
strcat-2.ll
strcat-3.ll
strchr-1.ll
strchr-2.ll
strcmp-1.ll
strcmp-2.ll
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
strcpy_chk-64.ll
strcpy-1.ll
strcpy-2.ll
strcspn-1.ll
strcspn-2.ll
strlen-1.ll
strlen-2.ll
strncat-1.ll
strncat-2.ll
strncat-3.ll
strncmp-1.ll
strncmp-2.ll
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
strncpy-1.ll
strncpy-2.ll
strpbrk-1.ll
strpbrk-2.ll
strrchr-1.ll
strrchr-2.ll
strspn-1.ll
strstr-1.ll
strstr-2.ll
strto-1.ll [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
sub.ll [InstCombine] Optimize subtract of selects into a select of a sub 2015-06-23 02:49:24 +00:00
switch-truncate-crash.ll
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
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] fold trunc ([lshr] (bitcast vector) ) --> extractelement (PR25543) 2015-12-14 16:16:54 +00:00
type_pun.ll
udiv_select_to_select_shift.ll
udiv-simplify-bug-0.ll
udiv-simplify-bug-1.ll
udivrem-change-width.ll
unordered-fcmp-select.ll
unpack-fca.ll Fix load alignement when unpacking aggregates structs 2016-02-17 19:21:28 +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
vec_demanded_elts.ll [InstCombine] Teach SimplifyDemandedVectorElts how to handle ConstantVector select masks with ConstantExpr elements (PR24922) 2015-10-06 10:34:53 +00:00
vec_extract_2elts.ll
vec_extract_elt.ll
vec_extract_var_elt.ll
vec_insertelt.ll
vec_narrow.ll
vec_phi_extract.ll
vec_sext.ll
vec_shuffle.ll [InstCombine] fix propagation of fast-math-flags 2015-11-24 17:51:20 +00:00
vector_gep1.ll
vector_gep2.ll Fixed GEP visitor in the InstCombine pass. 2015-11-15 08:19:35 +00:00
vector-casts.ll Fix a crash where a utility function wasn't aware of fcmp vectors and created a value with the wrong type. Fixes PR24458! 2015-08-14 22:46:49 +00:00
vector-mul.ll
vector-srem.ll
vector-type.ll
volatile_store.ll
vsx-unaligned.ll
weak-symbols.ll
win-math.ll
x86-crc32-demanded.ll
x86-f16c.ll [InstCombine] CVTPH2PS Vector Demanded Elements + Constant Folding 2015-09-12 13:39:53 +00:00
x86-insertps.ll [x86] instcombine more cases of insertps into a shufflevector 2015-04-25 20:55:25 +00:00
x86-pmovsx.ll [InstCombine][X86][SSE] Replace sign/zero extension intrinsics with native IR 2015-07-27 18:52:15 +00:00
x86-pmovzx.ll [InstCombine][X86][SSE] Replace sign/zero extension intrinsics with native IR 2015-07-27 18:52:15 +00:00
x86-pshufb.ll [InstCombine] Teach how to convert SSSE3/AVX2 byte shuffles to builtin shuffles if the shuffle mask is constant. 2015-09-30 16:44:39 +00:00
x86-sse4a.ll [InstCombine] SSE4A constant folding and conversion to shuffles. 2015-10-17 11:40:05 +00:00
x86-vector-shifts.ll [InstCombine] Improve Vector Demanded Bits Through Bitcasts 2015-09-29 08:19:11 +00:00
x86-vperm2.ll
x86-xop.ll [InstCombine][X86][XOP] Combine XOP integer vector comparisons to native IR 2015-10-11 14:38:34 +00:00
xor2.ll
xor-undef.ll
xor.ll Have a single way for creating unique value names. 2015-11-22 00:16:24 +00:00
zero-point-zero-add.ll
zeroext-and-reduce.ll
zext-bool-add-sub.ll
zext-fold.ll
zext-or-icmp.ll
zext.ll

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.