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
Reid Kleckner 689f5edc33 Fix regression in InstCombine introduced by r278944
The intended transform is:
  // Simplify icmp eq (or (ptrtoint P), (ptrtoint Q)), 0
  // -> and (icmp eq P, null), (icmp eq Q, null).

P and Q are both pointer types, but may have different types. We need
two calls to getNullValue() to make the icmps.

llvm-svn: 279271
2016-08-19 16:53:18 +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] 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
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 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
adjust-for-sminmax.ll
alias-recursion.ll
align-2d-gep.ll
align-addr.ll
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
alloca.ll
allocsize-32.ll
allocsize.ll
amdgcn-intrinsics.ll
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
and-or.ll
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
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
assume.ll
atomic.ll
badmalloc.ll
binop-cast.ll
bit-checks.ll
bit-tracking.ll
bitcast-alias-function.ll
bitcast-bigendian.ll
bitcast-bitcast.ll
bitcast-sext-vector.ll
bitcast-store.ll
bitcast-vec-canon.ll
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
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] use m_APInt to allow icmp (trunc X, Y), C folds for splat constant vectors 2016-08-18 20:28:54 +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 InstCombine: Don't strip convergent from intrinsic callsites 2016-06-20 19:04:44 +00:00
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] add tests for missing vector icmp folds 2016-08-15 19:16:33 +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 for vector icmp folds 2016-08-15 19:58:21 +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 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
gep-addrspace.ll
gep-sext.ll
gepgep.ll
gepphigep.ll
getelementptr-folding.ll
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
icmp-shr.ll
icmp-vec.ll [ConstnatFolding] Teach the folder how to fold ConstantVector 2016-07-29 03:27:26 +00:00
icmp.ll Fix regression in InstCombine introduced by r278944 2016-08-19 16:53:18 +00:00
idioms.ll
indexed-gep-compares.ll
inline-intrinsic-assert.ll
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
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 [InstCombine] extend vector select matching for non-splat constants 2016-07-13 18:07:02 +00:00
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
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
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 [InstCombine] shrink switch conditions better (PR24766) 2016-06-30 14:51:21 +00:00
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 [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] use m_APInt to allow icmp (or X, Y), C folds for splat constant vectors 2016-08-17 16:38:57 +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 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
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] add tests for missing vector icmp folds 2016-08-15 18:26:56 +00:00
pr19420.ll
pr20079.ll
pr20678.ll
pr21199.ll
pr21210.ll
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
pr26992.ll
pr26993.ll
pr27236.ll
pr27332.ll
pr28143.ll [TargetLibraryInfo] Teach isValidProtoForLibFunc about tan 2016-06-15 16:47:23 +00:00
PR7357.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-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] add tests for missing vector icmp folds 2016-08-16 00:48:38 +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
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] 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
tan.ll
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
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
urem-simplify-bug.ll
urem.ll
vararg.ll
vec_demanded_elts.ll
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 (xor X, Y), C folds for splat constant vectors 2016-08-18 14:10:48 +00:00
vec_shuffle.ll
vector_gep1.ll
vector_gep2.ll
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
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
x86-sse2.ll
x86-sse4a.ll
x86-sse41.ll
x86-sse.ll
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
xor2.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
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
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.