1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/test/Transforms/InstCombine
Craig Topper 402d6bf13b [X86][InstCombine] Teach SimplifyDemandedVectorElts to handle masked scalar add/sub/mul/div/max/min intrinsics better.
Now we can remove these intrinsics if element 0 isn't used. Also fix undef element tracking.

llvm-svn: 289636
2016-12-14 06:06:58 +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
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
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
amdgcn-intrinsics.ll
and2.ll
and-compare.ll
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] 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
apint-shl-trunc.ll
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
assume-loop-align.ll
assume-redundant.ll
assume.ll
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
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
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
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
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
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
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
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
hoist_instr.ll
icmp-div-constant.ll
icmp-logical.ll
icmp-range.ll
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] Ensure that truncated int types are legal. 2016-10-25 20:11:47 +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
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] 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
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
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] 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
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
sink-into-catchswitch.ll
sitofp.ll
smax-icmp.ll [InstCombine] add tests for smax+icmp; NFC 2016-12-08 23:16:06 +00:00
smin-icmp.ll [InstCombine] add tests for smin+icmp; NFC 2016-12-07 18:56:55 +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 tests for umax+icmp; NFC 2016-12-08 23:36:57 +00:00
umin-icmp.ll [InstCombine] add tests for umin+icmp; NFC 2016-12-08 23:44:58 +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
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 [X86][InstCombine] Teach SimplifyDemandedVectorElts to handle masked scalar add/sub/mul/div/max/min intrinsics better. 2016-12-14 06:06:58 +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-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
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] add tests to show pattern matching failures due to commutation 2016-09-09 16:35:20 +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.