1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 20:12:56 +02:00
llvm-mirror/test/Transforms/InstCombine
David Majnemer 56f8a7c1a4 [InstSimplify] Optimize away urems in the presence of range metadata
We know that urem %V, C can be optimized away to %V if %V is ult C.

llvm-svn: 291282
2017-01-06 21:23:51 +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
2003-08-12-AllocaNonNull.ll
2003-09-09-VolatileLoadElim.ll
2003-10-29-CallSiteResolve.ll
2003-11-03-VarargsCallBug.ll
2004-01-13-InstCombineInvokePHI.ll
2004-02-23-ShiftShiftOverflow.ll
2004-03-13-InstCombineInfLoop.ll
2004-04-04-InstCombineReplaceAllUsesWith.ll
2004-05-07-UnsizedCastLoad.ll
2004-07-27-ConstantExprMul.ll
2004-08-09-RemInfLoop.ll
2004-08-10-BoolSetCC.ll
2004-09-20-BadLoadCombine2.ll
2004-09-20-BadLoadCombine.ll
2004-09-28-BadShiftAndSetCC.ll
2004-11-22-Missed-and-fold.ll
2004-11-27-SetCCForCastLargerAndConstant.ll
2004-12-08-RemInfiniteLoop.ll
2005-03-04-ShiftOverflow.ll
2005-04-07-UDivSelectCrash.ll
2005-06-15-DivSelectCrash.ll
2005-06-15-ShiftSetCCCrash.ll
2005-06-16-RangeCrash.ll
2005-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-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] allow icmp (div X, Y), C folds for splat constant vectors 2016-08-31 21:57:21 +00:00
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
2007-09-17-AliasConstFold2.ll
2007-10-10-EliminateMemCpy.ll
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
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
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-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
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
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 Reapply "InstCombine: Reduce trunc (shl x, K) width." 2016-09-13 19:43:57 +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 [ValueTracking] fix matchSelectPattern to allow vector splat folds of min/max/abs/nabs 2016-10-27 15:26:10 +00:00
abs-1.ll
add2.ll
add3.ll
add-shrink.ll
add-sitofp.ll
add.ll [InstCombine] Combine adds across a zext 2017-01-04 02:21:31 +00:00
addnegneg.ll
AddOverFlow.ll
addrspacecast.ll
adjust-for-minmax.ll [InstCombine] canonicalize min/max constant to select's false value 2016-11-21 22:04:14 +00:00
alias-recursion.ll
align-2d-gep.ll
align-addr.ll
align-attr.ll
align-external.ll
aligned-altivec.ll
aligned-qpx.ll
all-bits-shift.ll
alloca.ll
allocsize-32.ll
allocsize.ll [Analysis] Ignore nobuiltin on allocsize function calls. 2016-12-27 06:32:14 +00:00
amdgcn-intrinsics.ll InstCombine: Fold cos(-x) -> cos(x) 2017-01-04 22:49:03 +00:00
and2.ll [InstCombine] add tests to show type limitations of InsertRangeTest and callers 2016-08-30 23:16:59 +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
and-not-or.ll
and-or-and.ll
and-or-icmps.ll Revert "[InstCombine] New opportunities for FoldAndOfICmp and FoldXorOfICmp" 2016-12-21 19:21:59 +00:00
and-or-not.ll
and-or.ll
and-xor-merge.ll
and-xor-or.ll
and.ll [InstCombine] allow vector types for constant folding / computeKnownBits (PR24942) 2016-09-16 21:20:36 +00:00
apint-add.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
apint-rem1.ll
apint-rem2.ll
apint-select.ll
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] update test to use FileCheck and auto-generate checks 2016-10-14 15:30:31 +00:00
apint-xor1.ll
apint-xor2.ll
assoc-cast-assoc.ll
assume2.ll Revert @llvm.assume with operator bundles (r289755-r289757) 2016-12-19 08:22:17 +00:00
assume-loop-align.ll
assume-redundant.ll Revert @llvm.assume with operator bundles (r289755-r289757) 2016-12-19 08:22:17 +00:00
assume.ll [InstCombine] tighten checks for tests of assume -> metadata transform; NFC 2017-01-03 19:32:11 +00:00
atomic.ll [PR29121] Don't fold if it would produce atomic vector loads or stores 2016-12-01 20:17:06 +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
bitcast-bigendian.ll [InstCombine] regenerate checks 2016-09-12 00:12:56 +00:00
bitcast-bitcast.ll
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
bitcast.ll InstCombine: Fold bitcast of vector to FP scalar 2016-12-07 20:56:11 +00:00
bitcount.ll
bitreverse-fold.ll
bitreverse-hang.ll
bittest.ll
blend_x86.ll [InstCombine] canonicalize vector select with constant vector condition to shuffle 2016-09-16 22:16:18 +00:00
branch.ll
broadcast.ll [InstCombine] Canonicalize insert splat sequences into an insert + shuffle 2016-12-28 00:18:08 +00:00
bswap-fold.ll
bswap-known-bits.ll
bswap.ll
builtin-object-size-offset.ll
builtin-object-size-ptr.ll
call2.ll
call_nonnull_arg.ll [InstCombine] add explanatory comment to test; NFC 2017-01-01 18:20:49 +00:00
call-cast-target-inalloca.ll
call-cast-target.ll
call-intrinsics.ll
call.ll
canonicalize_branch.ll
cast_ptr.ll
cast-call-combine.ll
cast-callee-deopt-bundles.ll
cast-int-fcmp-eq-0.ll
cast-mul-select.ll
cast-set.ll
cast.ll [InstCombine] remove fold of an icmp pattern that should never happen 2016-09-01 14:20:43 +00:00
ceil.ll
compare-alloca.ll
compare-signs.ll
compare-udiv.ll
compare-unescaped.ll
constant-expr-datalayout.ll
constant-fold-address-space-pointer.ll
constant-fold-alias.ll
constant-fold-compare.ll
constant-fold-gep.ll
constant-fold-hang.ll
constant-fold-math.ll
convergent.ll
copysign.ll
cos-1.ll
cos-2.ll
cos-intrinsic.ll InstCombine: Fold cos(-x) -> cos(x) 2017-01-04 22:49:03 +00:00
CPP_min_max.ll
crash.ll
ctpop.ll
dce-iterate.ll
deadcode.ll
debug-line.ll
debuginfo.ll
default-alignment.ll
demand_shrink_nsw.ll
demorgan-zext.ll
disable-simplify-libcalls.ll
distribute.ll
div-shift-crash.ll
div-shift.ll [InstCombine] canonicalize min/max constant to select's false value 2016-11-21 22:04:14 +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
double-float-shrink-2.ll
enforce-known-alignment.ll
err-rep-cold.ll
exact.ll [InstCombine] add test to show missing vector optimization; NFC 2016-11-26 16:13:23 +00:00
exp2-1.ll
exp2-2.ll
ExtractCast.ll
extractvalue.ll
fabs.ll InstCombine: Fold fabs on select of constants 2017-01-03 22:40:34 +00:00
fast-math-scalarization.ll
fast-math.ll
fcmp-select.ll
fcmp-special.ll
fcmp.ll
fdiv.ll
ffs-1.ll
float-shrink-compare.ll
fls.ll [SimplifyLibCalls] Add a test to make sure we lower fls(0) correctly. 2016-12-15 23:48:07 +00:00
fma.ll InstCombine: Add fma with constant transforms 2017-01-03 04:32:35 +00:00
fmul.ll
fneg-ext.ll
fold-bin-operand.ll
fold-calls.ll
fold-fops-into-selects.ll
fold-phi-load-metadata.ll
fold-phi.ll
fold-sqrt-sqrtf.ll
fold-vector-select.ll
fold-vector-zero.ll
fp-ret-bitcast.ll
fpcast.ll
fpextend_x86.ll
fpextend.ll
fprintf-1.ll
fputs-1.ll
fputs-opt-size.ll
fsub.ll
fwrite-1.ll
gc.relocate.ll
gep-addrspace.ll
gep-sext.ll
gep-vector.ll [ConstantFold] Get the correct vector type when folding a getelementptr. 2016-10-28 00:53:16 +00:00
gepgep.ll
gepphigep.ll
getelementptr-folding.ll
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
icmp-range.ll
icmp-shl-nsw.ll [InstCombine] add a vector version of a test added in r291262; NFC 2017-01-06 19:14:05 +00:00
icmp-shl-nuw.ll [InstCombine] Fold nuw left-shifts in ugt/ule comparisons. 2016-11-01 19:19:29 +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] move and add tests for icmp + shl nsw; NFC 2017-01-06 18:57:54 +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
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 infinite loop from shuffle-extract-insert sequence (PR30923) 2016-11-10 00:15:14 +00:00
insert-val-extract-elem.ll
IntPtrCast.ll
intrinsics.ll
invariant.ll
invoke.ll
isascii-1.ll
isdigit-1.ll
JavaCompare.ll
known_align.ll
LandingPadClauses.ll
lifetime-asan.ll
lifetime.ll
load3.ll
load_combine_aa.ll
load-bitcast32.ll
load-bitcast64.ll
load-cmp.ll
load-combine-metadata-2.ll
load-combine-metadata-3.ll
load-combine-metadata-4.ll
load-combine-metadata.ll [Verifier] Add verification for TBAA metadata 2016-12-11 20:07:15 +00:00
load-select.ll
load.ll InstCombine: Don't combine loads/stores from swifterror to a new type 2016-09-10 18:14:57 +00:00
loadstore-alignment.ll Fix known zero bits for addrspacecast. 2016-11-21 15:42:31 +00:00
loadstore-metadata.ll [Verifier] Add verification for TBAA metadata 2016-12-11 20:07:15 +00:00
log-pow-nofastmath.ll
log-pow.ll
logical-select.ll [InstCombine] canonicalize vector select with constant vector condition to shuffle 2016-09-16 22:16:18 +00:00
lshr-phi.ll
malloc-free-delete.ll
masked_intrinsics.ll
max-of-nots.ll [InstCombine] fix profitability equation for max-of-nots transform 2016-11-09 00:13:11 +00:00
maxnum.ll
mem-gep-zidx.ll
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
memcmp-1.ll
memcmp-2.ll
memcpy_chk-1.ll
memcpy_chk-2.ll
memcpy-1.ll
memcpy-2.ll
memcpy-from-global.ll
memcpy-to-load.ll
memcpy.ll
memmove_chk-1.ll
memmove_chk-2.ll
memmove-1.ll
memmove-2.ll
memmove.ll
memset2.ll
memset_chk-1.ll
memset_chk-2.ll
memset-1.ll
memset-2.ll
memset.ll
merge-icmp.ll
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 [InstCombine] canonicalize min/max constant to select's false value 2016-11-21 22:04:14 +00:00
minmax-fp.ll [InstCombine] auto-generate checks 2016-10-25 00:41:00 +00:00
minnum.ll
misc-2002.ll
mul-masked-bits.ll
mul.ll
multi-size-address-space-pointer.ll
multi-use-or.ll
narrow-switch.ll remove stale FIXME note from test; NFC 2016-12-12 16:20:21 +00:00
narrow.ll [InstCombine] allow more narrowing transforms for logic ops 2016-11-30 20:48:54 +00:00
neon-intrinsics.ll
no_cgscc_assert.ll
no-negzero.ll
non-integral-pointers.ll
nonnull-attribute.ll
not-fcmp.ll
not.ll
nothrow.ll
nsw.ll
obfuscated_splat.ll
objsize-64.ll
objsize-address-space.ll
objsize-noverify.ll
objsize.ll
odr-linkage.ll
onehot_merge.ll
opaque.ll
or-fcmp.ll
or-to-xor.ll
or-xor.ll [InstCombine] use commutative matchers for patterns with commutative operators 2016-12-18 18:49:48 +00:00
or.ll [InstCombine] use commutative matcher for pattern with commutative operators 2016-12-19 18:35:37 +00:00
osx-names.ll
overflow-mul.ll
overflow.ll
OverlappingInsertvalues.ll
phi-load-metadata-2.ll
phi-load-metadata-3.ll
phi-load-metadata.ll
phi-merge-gep.ll
phi-preserve-ir-flags.ll
phi-select-constexpr.ll
phi.ll
pow-1.ll
pow-2.ll
pow-3.ll
pow-4.ll
pow-exp-nofastmath.ll
pow-exp.ll
pow-sqrt.ll
pr2645-0.ll
pr2645-1.ll
pr2996.ll
pr12251.ll
pr12338.ll
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
pr20678.ll
pr21199.ll
pr21210.ll
pr21651.ll
pr21891.ll
pr23751.ll
pr23809.ll
pr24354.ll
pr24605.ll
pr25342.ll [InstCombine] Resubmit the combine of A->B->A BitCast and fix for pr27996 2016-10-25 20:43:42 +00:00
pr25745.ll
pr26992.ll
pr26993.ll
pr27236.ll [InstCombine] canonicalize min/max constant to select's false value 2016-11-21 22:04:14 +00:00
pr27332.ll
pr27703.ll [InstCombine] Resubmit the combine of A->B->A BitCast and fix for pr27996 2016-10-25 20:43:42 +00:00
pr27996.ll [InstCombine] Resubmit the combine of A->B->A BitCast and fix for pr27996 2016-10-25 20:43:42 +00:00
pr28143.ll
pr30929.ll [LibcallsShrinkWrap] This pass doesn't preserve the CFG. 2016-11-08 19:18:20 +00:00
PR30597.ll [InstCombine] Transform !range metadata to !nonnull when combining loads 2016-10-11 01:00:45 +00:00
preserve-sminmax.ll
prevent-cmp-merge.ll
printf-1.ll
printf-2.ll
printf-3.ll
ptr-int-cast.ll
puts-1.ll
range-check.ll
README.txt
rem.ll [InstCombine] Move casts around shift operations 2017-01-04 02:21:34 +00:00
round.ll
sdiv-1.ll
sdiv-2.ll
select_meta.ll [InstCombine] don't drop metadata in FoldOpIntoSelect() 2016-11-26 15:23:20 +00:00
select-2.ll
select-bitext.ll [InstCombine] add tests to show likely unwanted select widening; NFC 2016-11-18 23:22:00 +00:00
select-cmp-br.ll
select-cmp-cttz-ctlz.ll
select-crash-noverify.ll
select-crash.ll
select-extractelement.ll
select-implied.ll
select-load-call.ll
select-select.ll
select-with-bitwise-ops.ll [InstCombine] auto-generate checks for select+bitwise logic tests; NFC 2016-11-30 17:07:21 +00:00
select.ll [InstCombine] auto-generate checks for select+bitwise logic tests; NFC 2016-11-30 17:07:21 +00:00
set.ll
setcc-strength-reduce.ll
sext.ll [InstCombine] canonicalize min/max constant to select's false value 2016-11-21 22:04:14 +00:00
shift-add.ll [InstCombine] Folding of shifts by the sum of positive values 2016-11-01 15:40:30 +00:00
shift-shift.ll
shift-sra.ll
shift.ll [InstCombine] Move casts around shift operations 2017-01-04 02:21:34 +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 [TLI] isdigit / isascii / toascii param type should match return type (PR30484) 2016-09-23 18:44:09 +00:00
sincospi.ll
sink_instruction.ll [InstCombine] Allow sinking from unique predecessor with multiple edges 2016-08-22 18:21:56 +00:00
sink-into-catchswitch.ll
sink-zext.ll [InstCombine] Add a test for r290733 2017-01-04 02:21:37 +00:00
sitofp.ll
smax-icmp.ll [InstCombine] add folds for icmp (smax X, Y), X 2016-12-19 16:28:53 +00:00
smin-icmp.ll [InstCombine] add folds for icmp (smin X, Y), X 2016-12-15 19:13:37 +00:00
sprintf-1.ll
sqrt-nofast.ll
sqrt.ll
srem1.ll
srem-simplify-bug.ll
srem.ll
stack-overalign.ll
stacksaverestore.ll
statepoint.ll
store.ll
stpcpy_chk-1.ll
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
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
strncpy_chk-2.ll
strncpy-1.ll
strncpy-2.ll
strpbrk-1.ll
strpbrk-2.ll
strrchr-1.ll
strrchr-2.ll
strspn-1.ll
strstr-1.ll
strstr-2.ll
strto-1.ll
struct-assign-tbaa.ll
sub-xor.ll [InstCombine] use m_APInt to allow sub with constant folds for splat vectors 2016-10-14 16:31:54 +00:00
sub.ll [InstCombine] use m_APInt to allow sub with constant folds for splat vectors 2016-10-14 16:31:54 +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
tan-nofastmath.ll
tan.ll
tbaa-store-to-load.ll [Verifier] Add verification for TBAA metadata 2016-12-11 20:07:15 +00:00
toascii-1.ll
token.ll
trunc.ll [InstCombine] allow vector types for constant folding / computeKnownBits (PR24942) 2016-09-16 21:20:36 +00:00
type_pun.ll
udiv_select_to_select_shift.ll [InstCombine] update test to use FileCheck; NFC 2016-11-11 23:12:46 +00:00
udiv-simplify.ll [InstCombine] Teach the udiv folding logic how to handle constant expressions. 2016-09-26 12:07:23 +00:00
udivrem-change-width.ll
umax-icmp.ll [InstCombine] add folds for icmp (umin|umax X, Y), X 2016-12-19 17:32:37 +00:00
umin-icmp.ll [InstCombine] add folds for icmp (umin|umax X, Y), X 2016-12-19 17:32:37 +00:00
unordered-fcmp-select.ll
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 [InstSimplify] Optimize away urems in the presence of range metadata 2017-01-06 21:23:51 +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
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
vec_insertelt.ll
vec_narrow.ll
vec_phi_extract.ll
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] regenerate checks; NFC 2016-11-09 22:21:58 +00:00
vector_gep1.ll
vector_gep2.ll
vector_insertelt_shuffle.ll [InstCombine] Fix for PR29124: reduce insertelements to shufflevector 2016-09-23 09:14:08 +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 [InstCombine] Regenerate vector srem tests 2016-12-02 17:12:56 +00:00
vector-type.ll
vector-urem.ll [InstCombine] Add vector urem tests 2016-12-02 17:16:21 +00:00
volatile_store.ll
vsx-unaligned.ll
weak-symbols.ll
win-math.ll
x86-avx2.ll
x86-avx512.ll [InstCombine][AVX-512] Teach InstCombine that llvm.x86.avx512.vcomi.sd and llvm.x86.avx512.vcomi.ss don't use the upper elements of their input. 2016-12-31 00:45:06 +00:00
x86-crc32-demanded.ll
x86-f16c.ll
x86-fma.ll [X86][InstCombine] Add support for scalar FMA intrinsics to SimplifyDemandedVectorElts. 2016-12-11 08:54:52 +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
x86-muldq.ll [InstCombine][X86] Add DemandedElts support for 512-bit PMULDQ/PMULUDQ instructions 2016-12-27 05:30:09 +00:00
x86-pshufb.ll [X86][InstCombine] Teach InstCombineCalls to turn pshufb intrinsic into a shufflevector if the indices are constant. 2016-12-11 00:23:50 +00:00
x86-sse2.ll [X86] Remove the scalar intrinsics for fadd/fsub/fdiv/fmul 2016-11-16 05:24:10 +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
x86-sse.ll [X86] Remove the scalar intrinsics for fadd/fsub/fdiv/fmul 2016-11-16 05:24:10 +00:00
x86-vector-shifts.ll [InstCombine][AVX-512] Teach InstCombineCalls how to handle the intrinsics for variable shift with 16-bit elements. 2016-11-18 06:04:33 +00:00
x86-vperm2.ll [InstCombine][X86] Regenerate vperm2f128/vperm2i128 combine tests 2016-09-08 16:30:46 +00:00
x86-vpermil.ll [AVX-512][InstCombine] Add 512-bit vpermilvar intrinsics to InstCombineCalls to match 128 and 256-bit. 2016-12-11 01:59:36 +00:00
x86-xop.ll [X86][InstCombine] Fix SimplifyDemandedVectorElts to handle frcz scalar intrinsics correctly. 2016-12-13 07:45:45 +00:00
xor2.ll [InstCombine] use commutative matchers for patterns with commutative operators 2016-12-18 18:49:48 +00:00
xor-undef.ll
xor.ll
zero-point-zero-add.ll
zeroext-and-reduce.ll
zext-bool-add-sub.ll add more tests for PR30273 2016-09-12 22:28:29 +00:00
zext-fold.ll
zext-or-icmp.ll
zext.ll [InstCombine] consolidate zext tests and auto-generate checks; NFC 2016-10-26 14:08:49 +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.