1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00
llvm-mirror/test/Transforms/InstCombine
David Majnemer 697bc29ab8 [InstCombine] Do not RAUW a constant GEP
canRewriteGEPAsOffset expects to process instructions, not constants.

This fixes PR30342.

llvm-svn: 281650
2016-09-15 20:10:09 +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 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
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 [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
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 [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
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
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
adjust-for-sminmax.ll
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
amdgcn-intrinsics.ll AMDGPU: Do basic folding of class intrinsic 2016-09-03 07:06:58 +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
and-or-not.ll
and-or.ll
and-xor-merge.ll
and-xor-or.ll
and.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-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 [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
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
assume.ll
atomic.ll
badmalloc.ll
binop-cast.ll
bit-checks.ll
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] regenerate checks 2016-09-12 00:08:33 +00:00
bitcount.ll
bitreverse-fold.ll
bitreverse-hang.ll
bittest.ll
blend_x86.ll
branch.ll
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
call-cast-target-inalloca.ll
call-cast-target.ll
call-intrinsics.ll
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
cast-int-fcmp-eq-0.ll
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
ceil.ll
compare-alloca.ll
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
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
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 [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
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 tests to show missing vector folds 2016-09-12 15:51:42 +00:00
exp2-1.ll
exp2-2.ll
ExtractCast.ll
extractvalue.ll
fabs.ll
fast-math-scalarization.ll
fast-math.ll
fcmp-select.ll
fcmp-special.ll
fcmp.ll
fdiv.ll
ffs-1.ll
float-shrink-compare.ll
fmul.ll
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
fputs-1.ll
fputs-opt-size.ll
fsub.ll
fwrite-1.ll
gc.relocate.ll
gep-addrspace.ll
gep-sext.ll
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-shr.ll [InstCombine] FoldICmpCstShrCst failed for ashr when comparing against -1 2015-09-19 00:48:31 +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 (sub nsw) folds for vectors 2016-09-15 18:05:17 +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 [InsttCombine] fold insertelement of constant into shuffle with constant operand (PR29126) 2016-09-02 17:05:43 +00:00
insert-extract-shuffle.ll
insert-val-extract-elem.ll
IntPtrCast.ll
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
isascii-1.ll
isdigit-1.ll
JavaCompare.ll
known_align.ll
LandingPadClauses.ll
lifetime-asan.ll Do not remove empty lifetime.start/lifetime.end ranges 2016-07-28 22:59:03 +00:00
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
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
loadstore-metadata.ll
log-pow-nofastmath.ll
log-pow.ll Don't remove side effecting instructions due to ConstantFoldInstruction 2016-07-22 04:54:44 +00:00
logical-select.ll
lshr-phi.ll
malloc-free-delete.ll
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
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
minmax-fp.ll
minnum.ll
misc-2002.ll
mul-masked-bits.ll
mul.ll
multi-size-address-space-pointer.ll
multi-use-or.ll
narrow-switch.ll
narrow.ll
neon-intrinsics.ll
no_cgscc_assert.ll
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
objsize-noverify.ll
objsize.ll
odr-linkage.ll
onehot_merge.ll
opaque.ll
or-fcmp.ll
or-to-xor.ll
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
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 [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
pow-exp-nofastmath.ll
pow-exp.ll
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] 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
pr25745.ll
pr26992.ll
pr26993.ll
pr27236.ll
pr27332.ll
pr28143.ll
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] 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_meta.ll [Profile] Propagate branch metadata properly in instcombine 2016-08-25 00:26:32 +00:00
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
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
setcc-strength-reduce.ll
sext.ll [ValueTracking] Teach computeKnownBits about [su]min/max 2016-08-06 08:16:00 +00:00
shift-shift.ll
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
shufflevec-constant.ll
sign-test-and-or.ll minimize tests and auto-generate checks 2016-07-20 17:58:20 +00:00
signed-comparison.ll
signext.ll auto-generate checks 2016-07-16 16:27:58 +00:00
simplify-demanded-bits-pointer.ll
simplify-libcalls.ll
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
sitofp.ll
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
sub.ll [InstCombine] regenerate checks 2016-09-08 21:40:21 +00:00
switch-truncate-crash.ll
tan-nofastmath.ll
tan.ll
tbaa-store-to-load.ll
toascii-1.ll
token.ll
trunc.ll Reapply "InstCombine: Reduce trunc (shl x, K) width." 2016-09-13 19:43:57 +00:00
type_pun.ll
udiv_select_to_select_shift.ll
udiv-simplify.ll [InstCombine] Merged two test files and regenerated checks using update_test_checks.py. NFC. 2016-09-14 14:18:21 +00:00
udivrem-change-width.ll
unordered-fcmp-select.ll
unpack-fca.ll
urem-simplify-bug.ll
urem.ll add tests for PR28672 2016-09-13 20:36:13 +00:00
vararg.ll
vec_demanded_elts.ll [InstCombine] auto-generate assertions for tighter checking 2016-09-02 19:38:37 +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
vector_gep1.ll
vector_gep2.ll
vector_insertelt_shuffle.ll [InstCombine] Add test for insertelementinsts with constants. 2016-09-02 09:00:53 +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
vsx-unaligned.ll
weak-symbols.ll
win-math.ll
x86-avx2.ll
x86-avx.ll
x86-crc32-demanded.ll
x86-f16c.ll
x86-insertps.ll [InstCombine][X86] Regenerate insertps combine tests 2016-09-08 16:15:21 +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-pshufb.ll
x86-sse2.ll
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-vector-shifts.ll
x86-vperm2.ll [InstCombine][X86] Regenerate vperm2f128/vperm2i128 combine tests 2016-09-08 16:30:46 +00:00
x86-xop.ll
xor2.ll [InstCombine] add tests to show pattern matching failures due to commutation 2016-09-09 16:35:20 +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
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
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.