1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-25 05:52:53 +02:00
llvm-mirror/test/Transforms/InstCombine
2016-08-17 16:23:15 +00:00
..
2003-05-26-CastMiscompile.ll
2003-05-27-ConstExprCrash.ll
2003-06-05-BranchInvertInfLoop.ll
2003-07-21-ExternalConstant.ll
2003-08-12-AllocaNonNull.ll
2003-09-09-VolatileLoadElim.ll
2003-10-29-CallSiteResolve.ll
2003-11-03-VarargsCallBug.ll
2004-01-13-InstCombineInvokePHI.ll
2004-02-23-ShiftShiftOverflow.ll
2004-03-13-InstCombineInfLoop.ll
2004-04-04-InstCombineReplaceAllUsesWith.ll
2004-05-07-UnsizedCastLoad.ll
2004-07-27-ConstantExprMul.ll
2004-08-09-RemInfLoop.ll
2004-08-10-BoolSetCC.ll
2004-09-20-BadLoadCombine2.ll
2004-09-20-BadLoadCombine.ll
2004-09-28-BadShiftAndSetCC.ll
2004-11-22-Missed-and-fold.ll
2004-11-27-SetCCForCastLargerAndConstant.ll [InstCombine] 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
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 [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
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-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 [InstCombine] add tests for missing vector icmp folds 2016-08-15 19:16:33 +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
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-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-13-NoBitCastAttributes.ll
2008-01-14-VarArgTrampoline.ll
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
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-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
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 update test to FileCheck 2016-06-05 16:29:15 +00:00
2008-07-08-SubAnd.ll
2008-07-08-VolatileLoadMerge.ll
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
2008-08-17-ICmpXorSignbit.ll add tests for missing vector icmp folds 2016-08-09 16:39:05 +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
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
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 the ScalarReplAggregates pass 2016-06-15 00:19:09 +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
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 Revert "Revert "Revert "InstCombine: Reduce trunc (shl x, K) width.""" 2016-06-17 23:36:38 +00:00
2011-06-13-nsw-alloca.ll
2011-09-03-Trampoline.ll
2011-10-07-AlignPromotion.ll
2012-3-15-or-xor-constant.ll
2012-6-7-vselect-bitcast.ll
2012-01-11-OpaqueBitcastCrash.ll
2012-02-13-FCmp.ll
2012-02-28-ICmp.ll
2012-03-10-InstCombine.ll
2012-04-23-Neon-Intrinsics.ll
2012-04-24-vselect.ll
2012-04-30-SRem.ll
2012-05-28-select-hang.ll
2012-06-06-LoadOfPHIs.ll
2012-07-25-LoadPart.ll
2012-07-30-addrsp-bitcast.ll
2012-08-28-udiv_ashl.ll
2012-09-17-ZeroSizedAlloca.ll
2012-10-25-vector-of-pointers.ll
2012-12-14-simp-vgep.ll
2013-03-05-Combine-BitcastTy-Into-Alloca.ll
abs_abs.ll
abs-1.ll
add2.ll
add3.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
addnegneg.ll
AddOverFlow.ll
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
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
aligned-altivec.ll
aligned-qpx.ll
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: Add frexp_exp intrinsic 2016-03-30 22:28:52 +00:00
and2.ll [InstSimplify] analyze (optionally casted) icmps to eliminate obviously false logic (PR27869) 2016-06-20 20:59:59 +00:00
and-compare.ll [InstCombine] add tests for vector icmp folds 2016-08-14 22:44:10 +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
and-xor-or.ll
and.ll [InstCombine] use m_APInt to allow icmp eq (and X, C1), C2 folds for splat constant vectors 2016-08-04 20:05:02 +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-and1.ll
apint-and2.ll
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-call-cast-target.ll
apint-cast-and-cast.ll
apint-cast-cast-to-and.ll
apint-cast.ll
apint-div1.ll
apint-div2.ll
apint-mul1.ll
apint-mul2.ll
apint-not.ll
apint-or.ll
apint-rem1.ll
apint-rem2.ll
apint-select.ll [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] add tests for missing vector icmp folds 2016-08-15 17:55:39 +00:00
apint-shl-trunc.ll [InstCombine] add test for missing vector icmp fold 2016-08-14 21:05:08 +00:00
apint-sub.ll
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
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 Reapply 267210 with fix for PR27490 2016-05-06 22:17:01 +00:00
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 [InstCombine] transform bitcasted bitwise logic ops with constants (PR26702) 2016-03-03 19:19:04 +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
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 [ConstantFolding] Fix bitcast vector of i1. 2016-06-27 06:42:54 +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
blend_x86.ll
branch.ll
bswap-fold.ll
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
call2.ll
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 Don't remove side effecting instructions due to ConstantFoldInstruction 2016-07-22 04:54:44 +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 auto-ggenerate checks 2016-07-16 16:24:06 +00:00
cast.ll [InstCombine] add test for potentially missing vector icmp fold 2016-08-14 22:30: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] add tests for missing vector icmp folds 2016-08-15 17:10:35 +00:00
compare-udiv.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
compare-unescaped.ll Fold compares irrespective of whether allocation can be elided 2016-05-03 14:58:21 +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
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
CPP_min_max.ll
crash.ll
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
demand_shrink_nsw.ll
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
distribute.ll
div-shift-crash.ll
div-shift.ll [InstCombine] regenerate checks 2016-05-02 15:06:55 +00:00
div.ll [InstCombine] add tests for missing vector icmp folds 2016-08-15 19:16:33 +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
err-rep-cold.ll
exact.ll [InstCombine] add tests for vector icmp folds 2016-08-15 19:58:21 +00:00
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 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
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 Don't passively concatenate MDNodes 2016-08-16 18:48:34 +00:00
fold-phi.ll
fold-sqrt-sqrtf.ll
fold-vector-select.ll
fold-vector-zero.ll
fp-ret-bitcast.ll
fpcast.ll
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
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
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-folding.ll [ConstantFold] Fix incorrect index rewrites for GEPs 2016-05-26 07:08:05 +00:00
getelementptr.ll [InstCombine] Infer inbounds on geps of allocas 2016-08-07 07:58:00 +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-vec.ll [ConstnatFolding] Teach the folder how to fold ConstantVector 2016-07-29 03:27:26 +00:00
icmp.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
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
insert-val-extract-elem.ll Optimize store of "bitcast" from vector to aggregate. 2016-04-25 22:22:39 +00:00
IntPtrCast.ll
intrinsics.ll reduce tests; auto-generate checks 2016-08-05 14:50:11 +00:00
invariant.ll Revert "Revert "Invariant start/end intrinsics overloaded for address space"" 2016-08-13 23:31:24 +00:00
invoke.ll
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-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
load3.ll
load_combine_aa.ll
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
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 Don't remove side effecting instructions due to ConstantFoldInstruction 2016-07-22 04:54:44 +00:00
logical-select.ll [InstCombine] extend vector select matching for non-splat constants 2016-07-13 18:07:02 +00:00
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] Masked loads with undef masks can fold to normal loads 2016-07-14 06:58:42 +00:00
max-of-nots.ll
maxnum.ll
mem-gep-zidx.ll Fix a typo in rL265762 2016-04-17 04:30:43 +00:00
memchr.ll [InstCombine] regenerate checks 2016-05-02 15:25:49 +00:00
memcmp-1.ll
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
min-positive.ll [InstCombine] (icmp sgt smin(PosA, B) 0) -> (icmp sgt B 0) 2016-03-09 21:05:07 +00:00
minmax-fold.ll
minmax-fp.ll [ValueTracking] matchSelectPattern needs to be more careful around FP 2016-04-29 18:40:34 +00:00
minnum.ll
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
multi-size-address-space-pointer.ll
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_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
non-integral-pointers.ll [InstCombine] Don't coerce non-integral pointers to integers 2016-08-06 02:58:48 +00:00
nonnull-attribute.ll
not-fcmp.ll
not.ll
nothrow.ll
nsw.ll
obfuscated_splat.ll
objsize-64.ll
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
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
or.ll [InstCombine] add tests for missing vector icmp folds 2016-08-17 16:23:15 +00:00
osx-names.ll
overflow-mul.ll
overflow.ll
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-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
pr2645-1.ll
pr2996.ll
pr12251.ll
pr12338.ll
pr17827.ll [InstCombine] add tests for missing vector icmp folds 2016-08-15 18:26:56 +00:00
pr19420.ll
pr20079.ll
pr20678.ll [ConstantFolding, ValueTracking] Fold constants involving bitcasts of ConstantVector 2016-05-04 06:13:33 +00:00
pr21199.ll
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
pr23751.ll
pr23809.ll
pr24354.ll
pr24605.ll
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
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 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
range-check.ll
README.txt
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] try to fold (select C, (sext A), B) into logical ops 2016-08-05 08:22:29 +00:00
select-cmp-br.ll
select-cmp-cttz-ctlz.ll
select-crash-noverify.ll
select-crash.ll
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
select-select.ll
select.ll [InstCombine] LogicOpc (zext X), C --> zext (LogicOpc X, C) (PR28476) 2016-07-21 00:24:18 +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] add tests for missing vector icmp folds 2016-08-16 00:48:38 +00:00
shufflemask-undef.ll
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
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
sink-into-catchswitch.ll [InstCombine] Don't sink an instr after a catchswitch 2016-04-01 17:28:17 +00:00
sitofp.ll
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
srem1.ll
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 [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_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 Simplify strlen to a subtraction for certain cases. 2016-04-13 14:31:06 +00:00
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] use m_APInt to allow icmp (binop X, Y), C folds with constant splat vectors 2016-08-03 18:59:03 +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
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 Revert "InstCombine rule to fold truncs whose value is available" 2016-07-08 22:15:08 +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 Explode store of arrays in instcombine 2016-03-02 22:36:45 +00:00
urem-simplify-bug.ll
urem.ll use FileCheck instead of grep for exact checking 2016-05-20 20:07:18 +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][AVX] Split off VPERMILVAR tests and added additional tests for UNDEF mask elements 2016-04-30 07:32:19 +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 [InstCombine] scalarizePHI should not assume the code it sees has been CSE'd 2016-06-06 23:38:33 +00:00
vec_sext.ll revert r262424 because there's a *clang test* for AArch64 that checks -O3 asm output 2016-03-02 01:04:09 +00:00
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 [InstCombine] try to fold (select C, (sext A), B) into logical ops 2016-08-05 08:22:29 +00:00
vector-mul.ll
vector-srem.ll
vector-type.ll
volatile_store.ll [InstCombine] regenerate checks 2016-04-05 17:24:54 +00:00
vsx-unaligned.ll
weak-symbols.ll
win-math.ll
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-avx.ll Dropped FIXME comment 2016-05-01 20:33:25 +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
x86-masked-memops.ll Support arbitrary addrspace pointers in masked load/store intrinsics 2016-06-28 18:27:25 +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-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 [InstCombine][X86] Regenerate SSE combine tests as part of setup for D17490 2016-04-19 12:56:46 +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-sse.ll [InstCombine][SSE] Reduce DIVSS/DIVSD to FDIV if only first element is required 2016-04-24 18:35:59 +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
x86-xop.ll [InstCombine][SSE] Demanded vector elements for scalar intrinsics (Part 2 of 2) 2016-04-24 18:23:14 +00:00
xor2.ll add tests for missing vector icmp folds 2016-08-09 16:39:05 +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
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
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

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.