1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00
llvm-mirror/test/Transforms/InstCombine
Nikita Popov a5bd3602df [InstCombine] Fix worklist management when simplifying demanded bits
When simplifying demanded bits, we currently only report the
instruction on which SimplifyDemandedBits was called as changed.
However, this is a recursive call, and the actually modified
instruction will usually be further up the chain. Additionally,
all the intermediate instructions should also be revisited,
as additional combines may be possible after the demanded bits
simplification. We fix this by explicitly adding them back to the
worklist.

Differential Revision: https://reviews.llvm.org/D72944
2020-02-18 17:55:40 +01:00
..
AArch64
AMDGPU [InstCombine][AMDGPU] Trim components of s_buffer_load 2020-01-30 10:48:25 +01:00
ARM [ARM,MVE] Add an InstCombine rule permitting VPNOT. 2019-12-02 16:20:30 +00:00
NVPTX Consolidate internal denormal flushing controls 2020-01-17 20:09:53 -05:00
PowerPC
X86 [X86][InstCombine] Add constant folding and simplification support for pdep and pext 2019-12-31 15:06:47 -08: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-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-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-14-VarArgTrampoline.ll
2008-01-21-MismatchedCastAndCompare.ll
2008-01-21-MulTrunc.ll
2008-01-27-FloatSelect.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-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-11-RemAnd.ll
2008-07-13-DivZero.ll
2008-07-16-fsub.ll
2008-08-05-And.ll
2008-09-02-VectorCrash.ll
2008-10-11-DivCompareFold.ll
2008-10-23-ConstFoldWithoutMask.ll
2008-11-01-SRemDemandedBits.ll
2008-11-08-FCmp.ll
2008-11-27-IDivVector.ll
2008-11-27-MultiplyIntVec.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-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-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
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-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 [InstCombine] fix use check when canonicalizing abs/nabs 2020-02-10 14:57:37 -05:00
add2.ll
add3.ll
add4.ll
add-sitofp.ll
add.ll
addnegneg.ll
AddOverFlow.ll
addrspacecast.ll [InstCombine] don't assume 'inbounds' for bitcast pointer to GEP transform (PR43501) 2019-10-06 13:08:08 +00:00
addsub-constant-folding.ll
adjust-for-minmax.ll
alias-recursion.ll
align-2d-gep.ll
align-addr.ll
align-attr.ll
align-external.ll
all-bits-shift.ll
alloca-big.ll
alloca-cast-debuginfo.ll
alloca.ll
allocsize-32.ll
allocsize.ll
and2.ll [NFC][InstCombine] '(Op1 & С) - Op1' -> '-(Op1 & ~C)' fold (PR44427) 2020-01-03 21:25:48 +03:00
and-compare.ll
and-fcmp.ll
and-narrow.ll
and-or-and.ll
and-or-icmps.ll [NFC][InstCombine] Autogenerate check lines in a few tests 2019-12-05 01:14:03 +03:00
and-or-not.ll
and-or.ll
and-xor-merge.ll
and-xor-or.ll
and.ll [InstCombine] fold a shifted bool zext to a select (2nd try) 2019-10-15 13:12:44 +00:00
apint-add.ll
apint-and-compare.ll
apint-and-or-and.ll
apint-and-xor-merge.ll
apint-and.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] Invert add A, sext(B) --> sub A, zext(B) canonicalization (to sub A, zext B -> add A, sext B) 2019-12-05 21:21:30 +03:00
apint-shl-trunc.ll
apint-sub.ll [NFC][InstCombine] Autogenerate check lines in a few tests 2019-12-05 01:14:03 +03:00
apint-xor1.ll
apint-xor2.ll
ashr-lshr.ll
assoc-cast-assoc.ll
assume2.ll
assume_inevitable.ll
assume-loop-align.ll
assume-redundant.ll
assume.ll [InstCombine] Fix worklist management in return combine 2020-01-17 17:59:23 +01:00
atomic.ll
atomicrmw.ll
badmalloc.ll
bcmp-1.ll
bcopy.ll
binop-cast.ll
bit-checks.ll
bitcast-bigendian.ll
bitcast-bitcast.ll
bitcast-function.ll
bitcast-phi-uselistorder.ll [InstCombine] Fix user iterator invalidation in bitcast of phi transform 2020-01-14 20:38:10 +01:00
bitcast-sext-vector.ll
bitcast-store.ll
bitcast-vec-canon.ll [InstCombine] Revert aafde063aaf09285c701c80cd4b543c2beb523e8 and 6749dc3446671df05235d0a218c426a314ac33cd related to bitcast handling of x86_mmx 2019-12-03 14:02:22 -08:00
bitcast.ll
bitreverse-hang.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
bitreverse-known-bits.ll
bittest.ll
branch.ll
broadcast.ll
bswap-fold.ll
bswap-known-bits.ll
bswap.ll [InstCombine] canonicalize shift+logic+shift to reduce dependency chain 2019-11-07 12:09:45 -05:00
builtin-dynamic-object-size.ll [InstCombine] Expand usub_sat patterns to handle constants 2019-11-30 16:58:01 +00:00
builtin-object-size-custom-dl.ll Reland [DataLayout] Fix occurrences that size and range of pointers are assumed to be the same. 2019-12-13 14:30:21 +00:00
builtin-object-size-offset.ll
builtin-object-size-ptr.ll [InstCombine] remove uses before deleting instructions (PR43723) 2020-01-02 09:47:36 -05:00
byval.ll
cabs-array.ll
cabs-discrete.ll
call2.ll
call_nonnull_arg.ll
call-callconv.ll
call-cast-attrs.ll
call-cast-target-inalloca.ll
call-cast-target.ll
call-guard.ll [InstCombine] Fix worklist management when removing guard intrinsic 2020-01-14 21:47:48 +01:00
call-intrinsics.ll
call.ll
callsite_nonnull_args_through_casts.ll
canonicalize_branch.ll
canonicalize-ashr-shl-to-masking.ll
canonicalize-clamp-like-pattern-between-negative-and-positive-thresholds.ll [InstCombine] Process newly inserted instructions in the correct order 2020-01-30 09:40:10 +01:00
canonicalize-clamp-like-pattern-between-zero-and-positive-threshold.ll [InstCombine] Process newly inserted instructions in the correct order 2020-01-30 09:40:10 +01:00
canonicalize-clamp-with-select-of-constant-threshold-pattern.ll
canonicalize-constant-low-bit-mask-and-icmp-eq-to-icmp-ule.ll [InstCombine] make icmp vector canonicalization safe for constant with undef elements 2019-10-29 10:58:14 -04:00
canonicalize-constant-low-bit-mask-and-icmp-ne-to-icmp-ugt.ll [InstCombine] replace undef elements in vector constant when doing icmp folds (PR44383) 2020-01-03 09:16:57 -05:00
canonicalize-constant-low-bit-mask-and-icmp-sge-to-icmp-sle.ll [InstCombine] make icmp vector canonicalization safe for constant with undef elements 2019-10-29 10:58:14 -04:00
canonicalize-constant-low-bit-mask-and-icmp-sgt-to-icmp-sgt.ll [InstCombine] replace undef elements in vector constant when doing icmp folds (PR44383) 2020-01-03 09:16:57 -05:00
canonicalize-constant-low-bit-mask-and-icmp-sle-to-icmp-sle.ll [InstCombine] make icmp vector canonicalization safe for constant with undef elements 2019-10-29 10:58:14 -04:00
canonicalize-constant-low-bit-mask-and-icmp-slt-to-icmp-sgt.ll [InstCombine] replace undef elements in vector constant when doing icmp folds (PR44383) 2020-01-03 09:16:57 -05:00
canonicalize-constant-low-bit-mask-and-icmp-uge-to-icmp-ule.ll [InstCombine] make icmp vector canonicalization safe for constant with undef elements 2019-10-29 10:58:14 -04:00
canonicalize-constant-low-bit-mask-and-icmp-ugt-to-icmp-ugt.ll [InstCombine] replace undef elements in vector constant when doing icmp folds (PR44383) 2020-01-03 09:16:57 -05:00
canonicalize-constant-low-bit-mask-and-icmp-ule-to-icmp-ule.ll [InstCombine] make icmp vector canonicalization safe for constant with undef elements 2019-10-29 10:58:14 -04:00
canonicalize-constant-low-bit-mask-and-icmp-ult-to-icmp-ugt.ll [InstCombine] replace undef elements in vector constant when doing icmp folds (PR44383) 2020-01-03 09:16:57 -05:00
canonicalize-lack-of-signed-truncation-check.ll
canonicalize-low-bit-mask-and-icmp-eq-to-icmp-ule.ll
canonicalize-low-bit-mask-and-icmp-ne-to-icmp-ugt.ll
canonicalize-low-bit-mask-v2-and-icmp-eq-to-icmp-ule.ll
canonicalize-low-bit-mask-v2-and-icmp-ne-to-icmp-ugt.ll
canonicalize-low-bit-mask-v3-and-icmp-eq-to-icmp-ule.ll
canonicalize-low-bit-mask-v3-and-icmp-ne-to-icmp-ugt.ll
canonicalize-low-bit-mask-v4-and-icmp-eq-to-icmp-ule.ll
canonicalize-low-bit-mask-v4-and-icmp-ne-to-icmp-ugt.ll
canonicalize-lshr-shl-to-masking.ll
canonicalize-shl-lshr-to-masking.ll
canonicalize-signed-truncation-check.ll
cast_phi.ll [InstCombine] fix operands of shouldChangeType() for casted phi transform 2020-02-04 07:45:48 -05:00
cast_ptr.ll
cast-call-combine-prof.ll
cast-call-combine.ll
cast-callee-deopt-bundles.ll
cast-int-fcmp-eq-0.ll
cast-int-icmp-eq-0.ll
cast-mul-select.ll Reapply: [DebugInfo] Correctly handle salvaged casts and split fragments at ISel 2019-12-18 16:26:42 +00:00
cast-select.ll [InstCombine] allow more narrowing of casted select 2020-01-27 16:35:50 -05:00
cast-set-preserve-signed-dbg-val.ll
cast-set.ll
cast-unsigned-icmp-eqcmp-0.ll
cast.ll [InstCombine] Fix big-endian miscompile of (bitcast (zext/trunc (bitcast))) 2019-12-02 11:05:25 +01:00
ceil.ll
clamp-to-minmax.ll [InstCombine] propagate fast-math-flags (FMF) to select when inverting fcmp+select 2019-11-13 10:38:42 -05:00
cmp-intrinsic.ll
compare-3way.ll
compare-alloca.ll
compare-signs.ll
compare-udiv.ll
compare-unescaped.ll
conditional-variable-length-signext-after-high-bit-extract.ll [InstCombine] conditional sign-extend of high-bit-extract: 'or' pattern. 2019-10-20 20:52:06 +00:00
consecutive-fences.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-iteration.ll
constant-fold-libfunc.ll [FPEnv] Strict FP tests should use the requisite function attributes. 2019-10-04 17:03:46 +00:00
constant-fold-math.ll
constant-fold-shifts.ll
convergent.ll
copysign.ll [InstCombine] remove stale comment on test; NFC 2019-12-30 12:39:10 -05:00
cos-1.ll [IRBuilder] Update IRBuilder::CreateFNeg(...) to return a UnaryOperator 2019-10-14 15:35:01 +00:00
cos-2.ll
cos-sin-intrinsic.ll
CPP_min_max.ll
crash.ll
ctlz-cttz-bitreverse.ll
ctpop-bswap-bitreverse.ll
ctpop.ll
cttz-abs.ll
cttz-negative.ll
dce-iterate.ll
deadcode.ll
debug-line.ll
debuginfo_add.ll
debuginfo-dce2.ll
debuginfo-dce.ll Wrong debug info generated at -O2 (-O0 is correct) 2019-11-07 11:19:41 -08:00
debuginfo-sink.ll
debuginfo-skip.ll
debuginfo-variables.ll
debuginfo.ll
default-alignment.ll
demand_shrink_nsw.ll
demorgan-sink-not-into-xor.ll
demorgan.ll [InstCombine] Process newly inserted instructions in the correct order 2020-01-30 09:40:10 +01:00
deref-alloc-fns.ll
disable-builtin.ll Add -disable-builtin option to opt 2019-11-13 21:32:49 +01:00
disable-simplify-libcalls.ll
distribute.ll
div-shift-crash.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
div-shift.ll
div.ll [InstCombine] Process newly inserted instructions in the correct order 2020-01-30 09:40:10 +01:00
do-not-clone-dbg-declare.ll
double-float-shrink-1.ll
double-float-shrink-2.ll
early_constfold_changes_IR.ll
early_dce_clobbers_callgraph.ll
element-atomic-memintrins.ll [ValueTracking] Pointer is known nonnull after load/store 2019-12-11 20:32:29 +01:00
enforce-known-alignment.ll
err-rep-cold.ll
exact.ll
exp2-1.ll
exp2-2.ll
expensive-combines.ll [InstCombine] Support disabling expensive combines in opt 2020-01-17 17:56:20 +01:00
ExtractCast.ll
extractelement.ll
extractinsert-tbaa.ll
extractvalue.ll
fabs-copysign.ll
fabs-libcall.ll
fabs.ll
fadd-fsub-factor.ll
fadd.ll
fast-math.ll [IRBuilder] Update IRBuilder::CreateFNeg(...) to return a UnaryOperator 2019-10-14 15:35:01 +00:00
fcmp-select.ll
fcmp-special.ll
fcmp.ll
fdiv-cos-sin.ll
fdiv-sin-cos.ll
fdiv.ll [InstCombine] Z / (1.0 / Y) => (Y * Z) 2020-01-09 10:52:39 -05:00
ffs-1.ll
float-shrink-compare.ll
fls.ll
fma.ll
fmul-exp2.ll
fmul-exp.ll
fmul-pow.ll
fmul-sqrt.ll
fmul.ll [InstCombine] Simplify binary op when only one operand is a select 2019-11-11 10:01:59 +00:00
fneg.ll [InstCombine] fneg(X + C) --> -C - X 2020-01-22 09:48:43 -05:00
fold-bin-operand.ll
fold-calls.ll
fold-fops-into-selects.ll
fold-inc-of-add-of-not-x-and-y-to-sub-x-from-y.ll
fold-phi-load-metadata.ll
fold-phi.ll
fold-sqrt-sqrtf.ll
fold-sub-of-not-to-inc-of-add.ll
fold-vector-select.ll
fold-vector-zero.ll
fortify-folding.ll
fp-ret-bitcast.ll
fpcast.ll
fpextend_x86.ll
fpextend.ll
fprintf-1.ll
fptrunc.ll [InstCombine] narrow select with FP casts 2019-12-05 11:12:44 -05:00
fputs-1.ll
fputs-opt-size.ll
freeze.ll Add InstCombine/InstructionSimplify support for Freeze Instruction 2019-11-12 12:13:26 +09:00
fsh.ll
fsub.ll [InstCombine] convert fsub nsz with fneg operand to -(X + Y) 2020-01-27 14:49:15 -05:00
fwrite-1.ll
gc.relocate.ll
gep-addrspace.ll
gep-alias.ll
gep-combine-loop-invariant.ll
gep-custom-dl.ll Reland [DataLayout] Fix occurrences that size and range of pointers are assumed to be the same. 2019-12-13 14:30:21 +00:00
gep-inbounds-null.ll [InstCombine] canonicalize splat shuffle after cmp 2020-01-29 08:34:29 -05:00
gep-sext.ll
gep-vector.ll [InstCombine] check alloc size in bitcast of geps fold (PR44321) 2019-12-21 10:31:21 -05:00
gepgep.ll
gepphigep.ll
getelementptr-folding.ll
getelementptr.ll [InstCombine] Process newly inserted instructions in the correct order 2020-01-30 09:40:10 +01:00
high-bit-signmask-with-trunc.ll
high-bit-signmask.ll
hoist_instr.ll
hoist-negation-out-of-bias-calculation-with-constant.ll [NFC][InstCombine] '(Op1 & С) - Op1' -> '-(Op1 & ~C)' fold (PR44427) 2020-01-03 21:25:48 +03:00
hoist-negation-out-of-bias-calculation.ll [NFC][InstCombine] '(X & (- Y)) - X' -> '- (X & (Y - 1))' fold (PR44448) 2020-01-03 20:27:29 +03:00
icmp_sdiv_with_and_without_range.ll
icmp-add.ll [InstCombine] Support non-splat vectors in icmp eq + add/sub fold 2020-01-29 20:56:58 +01:00
icmp-bc-vec.ll
icmp-custom-dl.ll [InstCombine] Avoid modifying instructions in-place 2020-02-08 17:05:56 +01:00
icmp-div-constant.ll [InstCombine] fix operands of shouldChangeType() for casted phi transform 2020-02-04 07:45:48 -05:00
icmp-dom.ll
icmp-logical.ll
icmp-mul-zext.ll [InstCombine] fix operands of shouldChangeType() for casted phi transform 2020-02-04 07:45:48 -05:00
icmp-mul.ll
icmp-range.ll
icmp-shl-nsw.ll
icmp-shl-nuw.ll
icmp-shr-lt-gt.ll [NFC][InstCombine] Autogenerate icmp-shr-lt-gt.ll test 2019-10-04 22:15:49 +00:00
icmp-shr.ll
icmp-sub.ll [InstCombine] Support non-splat vectors in icmp eq + add/sub fold 2020-01-29 20:56:58 +01:00
icmp-uge-of-add-of-shl-one-by-bits-to-allones-and-val-to-icmp-eq-of-lshr-val-by-bits-and-0.ll
icmp-uge-of-not-of-shl-allones-by-bits-and-val-to-icmp-eq-of-lshr-val-by-bits-and-0.ll
icmp-ugt-of-shl-1-by-bits-and-val-to-icmp-eq-of-lshr-val-by-bits-and-0.ll
icmp-ule-of-shl-1-by-bits-and-val-to-icmp-ne-of-lshr-val-by-bits-and-0.ll
icmp-ult-of-add-of-shl-one-by-bits-to-allones-and-val-to-icmp-ne-of-lshr-val-by-bits-and-0.ll
icmp-ult-of-not-of-shl-allones-by-bits-and-val-to-icmp-ne-of-lshr-val-by-bits-and-0.ll
icmp-vec.ll [InstCombine] canonicalize splat shuffle after cmp 2020-01-29 08:34:29 -05:00
icmp-xor-signbit.ll
icmp.ll [InstCombine] Relax preconditions for ashr+and+icmp fold (PR44754) 2020-02-18 17:49:46 +01:00
idioms.ll
indexed-gep-compares.ll
inline-intrinsic-assert.ll
inselt-binop.ll
insert-const-shuf.ll
insert-extract-shuffle.ll [InstSimplify] fold splat of inserted constant to vector constant 2019-12-15 09:32:03 -05:00
insert-val-extract-elem.ll
insertelement-bitcast.ll
int_sideeffect.ll
intersect-accessgroup.ll
intptr1.ll
intptr2.ll
intptr3.ll
intptr4.ll
intptr5.ll
intptr6.ll
intptr7.ll
IntPtrCast.ll
intrinsics.ll
invariant.group.ll
invariant.ll
invert-variable-mask-in-masked-merge-scalar.ll
invert-variable-mask-in-masked-merge-vector.ll
invoke.ll
isascii-1.ll
isdigit-1.ll
ispow2.ll
JavaCompare.ll
known_align.ll
known-never-nan.ll
known-non-zero.ll [ValueTracking] Allow context-sensitive nullness check for non-pointers 2019-12-09 15:15:52 -06:00
LandingPadClauses.ll
lifetime-no-null-opt.ll
lifetime-sanitizer.ll
lifetime.ll
limit-max-iterations.ll Revert "Revert "Reland "[Support] make report_fatal_error abort instead of exit""" 2020-02-13 10:16:06 -08:00
load3.ll
load_combine_aa.ll
load-bitcast32.ll
load-bitcast64.ll [InstCombine] Let combineLoadToNewType preserve ABI alignment of the load (PR44543) 2020-01-15 03:20:53 +09:00
load-bitcast-select.ll
load-bitcast-vec.ll [InstCombine] don't assume 'inbounds' for bitcast deref or null pointer in non-default address space 2019-10-13 17:19:08 +00:00
load-cmp.ll
load-combine-metadata-2.ll
load-combine-metadata-3.ll
load-combine-metadata-4.ll
load-combine-metadata-dominance.ll
load-combine-metadata.ll
load-insert-store.ll [NFC] Add test for load-insert-store pattern 2019-12-30 16:14:37 +08:00
load-select.ll
load.ll [InstCombine] Process newly inserted instructions in the correct order 2020-01-30 09:40:10 +01:00
loadstore-alignment.ll
loadstore-metadata.ll
log-pow-nofastmath.ll
log-pow.ll [InstCombine] Add test case for PR43617 (NFC) 2019-10-10 21:29:10 +00:00
logical-select.ll [InstCombine] Process newly inserted instructions in the correct order 2020-01-30 09:40:10 +01:00
lower-dbg-declare.ll
lshr-and-negC-icmpeq-zero.ll
lshr-and-signbit-icmpeq-zero.ll
lshr-phi.ll
lshr.ll
malloc-free-delete.ll [IR] Mark memset.* intrinsics as IntrWriteMem. 2020-01-16 10:35:46 +00:00
masked_intrinsics.ll [IR] masked gather/scatter alignment should be set 2020-01-26 18:51:36 +01:00
masked-merge-add.ll
masked-merge-and-of-ors.ll
masked-merge-or.ll
masked-merge-xor.ll
max_known_bits.ll
max-of-nots.ll [InstCombine] Process newly inserted instructions in the correct order 2020-01-30 09:40:10 +01:00
maximum.ll
maxnum.ll
mem-deref-bytes-addrspaces.ll
mem-deref-bytes.ll
mem-gep-zidx.ll
mem-par-metadata-memcpy.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
memccpy.ll [InstCombine] Optimize some memccpy calls to memcpy/null 2019-11-26 10:54:47 +01:00
memchr.ll
memcmp-1.ll
memcmp-2.ll
memcmp-constant-fold.ll
memcpy_chk-1.ll
memcpy_chk-2.ll
memcpy-1.ll [FPEnv] Strict FP tests should use the requisite function attributes. 2019-10-04 17:03:46 +00:00
memcpy-2.ll
memcpy-addrspace.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
mempcpy.ll
memrchr.ll
memset2.ll
memset_chk-1.ll
memset_chk-2.ll
memset-1.ll
memset-2.ll
memset.ll [InstCombine] don't assume 'inbounds' for bitcast pointer to GEP transform (PR43501) 2019-10-06 13:08:08 +00:00
merge-icmp.ll
min-positive.ll
minimum.ll
minmax-demandbits.ll
minmax-fold.ll [InstCombine] Regenerate test checks; NFC 2020-01-29 18:22:07 +01:00
minmax-fp.ll [InstCombine] propagate fast-math-flags (FMF) to select when inverting fcmp+select 2019-11-13 10:38:42 -05:00
minmax-of-minmax.ll
minnum.ll
misc-2002.ll
mul-masked-bits.ll
mul.ll [InstCombine] Push negation through multiply (PR44234) 2020-01-31 20:58:55 +01:00
multi-size-address-space-pointer.ll
multi-use-or.ll
multiple-uses-load-bitcast-select.ll
musttail-thunk.ll
narrow-math.ll
narrow-switch.ll
narrow.ll
no_cgscc_assert.ll
no_sink_instruction.ll
no-negzero.ll
non-integral-pointers.ll
nonnull-attribute.ll
not.ll [InstCombine] try to pull 'not' of select into compare operands 2020-01-07 10:44:23 -05:00
nothrow.ll
nsw.ll [ValueTracking] Add DemandedElts support to computeKnownBits/ComputeNumSignBits (PR36319) 2020-02-01 12:45:46 +00:00
obfuscated_splat.ll
objsize-64.ll
objsize-address-space.ll
objsize-noverify.ll
objsize.ll
odr-linkage.ll
omit-urem-of-power-of-two-or-zero-when-comparing-with-zero.ll
onehot_merge.ll
opaque.ll
operand-complexity.ll
or-fcmp.ll
or-shifted-masks.ll
or-xor.ll
or.ll [InstCombine] Process newly inserted instructions in the correct order 2020-01-30 09:40:10 +01:00
osx-names.ll
out-of-bounds-indexes.ll
overflow_to_sat.ll [InstCombine] Canonicalize ssub.with.overflow with clamp to ssub.sat 2019-11-17 10:45:11 +00:00
overflow-mul.ll
overflow.ll
OverlappingInsertvalues.ll
partally-redundant-left-shift-input-masking-after-truncation-variant-a.ll [InstCombine] dropRedundantMaskingOfLeftShiftInput(): truncation (PR42563) 2019-11-05 12:41:26 +03:00
partally-redundant-left-shift-input-masking-after-truncation-variant-b.ll [InstCombine] dropRedundantMaskingOfLeftShiftInput(): truncation (PR42563) 2019-11-05 12:41:26 +03:00
partally-redundant-left-shift-input-masking-after-truncation-variant-c.ll [InstCombine] dropRedundantMaskingOfLeftShiftInput(): truncation (PR42563) 2019-11-05 12:41:26 +03:00
partally-redundant-left-shift-input-masking-after-truncation-variant-d.ll [InstCombine] dropRedundantMaskingOfLeftShiftInput(): truncation (PR42563) 2019-11-05 12:41:26 +03:00
partally-redundant-left-shift-input-masking-after-truncation-variant-e.ll [InstCombine] dropRedundantMaskingOfLeftShiftInput(): truncation (PR42563) 2019-11-05 12:41:26 +03:00
partally-redundant-left-shift-input-masking-variant-a.ll [InstCombine] dropRedundantMaskingOfLeftShiftInput(): propagate undef shift amounts 2019-10-07 20:52:52 +00:00
partally-redundant-left-shift-input-masking-variant-b.ll [InstCombine] dropRedundantMaskingOfLeftShiftInput(): propagate undef shift amounts 2019-10-07 20:52:52 +00:00
partally-redundant-left-shift-input-masking-variant-c.ll [InstCombine] dropRedundantMaskingOfLeftShiftInput(): propagate undef shift amounts 2019-10-07 20:52:52 +00:00
partally-redundant-left-shift-input-masking-variant-d.ll [InstCombine] dropRedundantMaskingOfLeftShiftInput(): propagate undef shift amounts 2019-10-07 20:52:52 +00:00
partally-redundant-left-shift-input-masking-variant-e.ll [InstCombine] dropRedundantMaskingOfLeftShiftInput(): propagate undef shift amounts 2019-10-07 20:52:52 +00:00
phi-equal-incoming-pointers.ll [InstCombine] Fix incorrect inbounds on GEP of GEP (PR44425) 2020-01-01 22:10:55 +01:00
phi-known-bits-operand-order.ll
phi-load-metadata-2.ll
phi-load-metadata-3.ll
phi-load-metadata-dominance.ll
phi-load-metadata.ll
phi-merge-gep.ll
phi-preserve-ir-flags.ll
phi-select-constant.ll
phi-shifts.ll
phi-timeout.ll
phi.ll
pow_fp_int.ll
pow-0.ll
pow-1.ll
pow-2.ll
pow-3.ll
pow-4.ll
pow-cbrt.ll
pow-exp-nofastmath.ll
pow-exp.ll
pow-sqrt.ll [SimplifyLibCalls] require fast-math-flags for pow(X, -0.5) transforms 2019-12-21 10:00:53 -05:00
pr2645-0.ll
pr2996.ll
pr12251.ll
pr12338.ll
pr17827.ll
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] Regenerate test checks; NFC 2020-01-29 18:22:07 +01:00
pr25745.ll
pr26992.ll [InstCombine] Fix incorrect inbounds on GEP of GEP (PR44425) 2020-01-01 22:10:55 +01:00
pr26993.ll
pr27236.ll
pr27332.ll
pr27343.ll
pr27703.ll
pr27996.ll
pr28143.ll
pr28725.ll
pr30929.ll
pr31990_wrong_memcpy.ll
pr32686.ll
pr33453.ll
pr33689_same_bitwidth.ll
pr34349.ll
pr34627.ll
pr35515.ll
pr36362.ll
pr38677.ll
pr38897.ll
pr38915.ll [InstCombine] Process newly inserted instructions in the correct order 2020-01-30 09:40:10 +01:00
pr38984.ll
pr39177.ll
pr39908.ll
pr41164.ll
pr43081.ll Check result of emitStrLen before passing it to CreateGEP 2019-11-14 08:04:36 +01:00
pr43376-getFlippedStrictnessPredicateAndConstant-assert.ll
pr43893.ll Reapply: [DebugInfo] Correctly handle salvaged casts and split fragments at ISel 2019-12-18 16:26:42 +00:00
pr44242.ll [InstCombine] Don't rewrite phi-of-bitcast when the phi has other users 2019-12-31 12:15:02 +01:00
pr44245.ll [InstCombine] Process newly inserted instructions in the correct order 2020-01-30 09:40:10 +01:00
pr44541.ll [InstCombine] Fix worklist management when simplifying demanded bits 2020-02-18 17:55:40 +01:00
pr44552.ll [InstCombine] Fix worklist management in DSE (PR44552) 2020-01-17 18:10:56 +01:00
pr44835.ll [InstCombine] Fix infinite loop in min/max load/store bitcast combine (PR44835) 2020-02-08 16:55:22 +01:00
PR30597.ll
PR37526.ll [InstCombine] Teach removeBitcastsFromLoadStoreOnMinMax not to change the size of a store. 2019-12-16 12:12:54 -08:00
prefetch-load.ll
preserve-sminmax.ll
preserved-analyses.ll
prevent-cmp-merge.ll
printf-1.ll
printf-2.ll
printf-3.ll
ptr-int-cast.ll
pull-binop-through-shift.ll
pull-conditional-binop-through-shift.ll
puts-1.ll
range-check.ll
README.txt
readnone-maythrow.ll
realloc.ll
reassociate-nuw.ll
redundant-left-shift-input-masking-after-truncation-variant-a.ll [InstCombine] dropRedundantMaskingOfLeftShiftInput(): truncation (PR42563) 2019-11-05 12:41:26 +03:00
redundant-left-shift-input-masking-after-truncation-variant-b.ll [InstCombine] dropRedundantMaskingOfLeftShiftInput(): truncation (PR42563) 2019-11-05 12:41:26 +03:00
redundant-left-shift-input-masking-after-truncation-variant-c.ll [InstCombine] dropRedundantMaskingOfLeftShiftInput(): truncation (PR42563) 2019-11-05 12:41:26 +03:00
redundant-left-shift-input-masking-after-truncation-variant-d.ll [InstCombine] dropRedundantMaskingOfLeftShiftInput(): truncation (PR42563) 2019-11-05 12:41:26 +03:00
redundant-left-shift-input-masking-after-truncation-variant-e.ll [InstCombine] dropRedundantMaskingOfLeftShiftInput(): truncation (PR42563) 2019-11-05 12:41:26 +03:00
redundant-left-shift-input-masking-after-truncation-variant-f.ll [InstCombine] dropRedundantMaskingOfLeftShiftInput(): truncation (PR42563) 2019-11-05 12:41:26 +03:00
redundant-left-shift-input-masking-variant-a.ll
redundant-left-shift-input-masking-variant-b.ll
redundant-left-shift-input-masking-variant-c.ll
redundant-left-shift-input-masking-variant-d.ll
redundant-left-shift-input-masking-variant-e.ll
redundant-left-shift-input-masking-variant-f.ll
redundant-right-shift-input-masking.ll
rem.ll
result-of-add-of-negative-is-non-zero-and-no-underflow.ll
result-of-add-of-negative-or-zero-is-non-zero-and-no-underflow.ll
result-of-usub-is-non-zero-and-no-overflow.ll
reuse-constant-from-select-in-icmp.ll [InstCombine] make icmp vector canonicalization safe for constant with undef elements 2019-10-29 10:58:14 -04:00
rotate.ll
sadd_sat.ll [InstCombine] Signed saturation patterns 2019-10-22 15:39:47 +00:00
sadd-with-overflow.ll
salvage-dbg-declare.ll
saturating-add-sub.ll [InstCombine] Extra combine for uadd_sat 2019-10-28 15:21:16 +00:00
scalarization.ll
sdiv-1.ll
sdiv-2.ll
sdiv-canonicalize.ll
sdiv-guard.ll
select_arithmetic.ll
select_meta.ll
select-2.ll
select-binop-cmp.ll
select-bitext-bitwise-ops.ll
select-bitext.ll
select-cmp-br.ll [InstCombine] Process newly inserted instructions in the correct order 2020-01-30 09:40:10 +01:00
select-cmp-cttz-ctlz.ll [InstCombine] Fix multi-use handling in cttz transform 2020-02-18 17:55:00 +01:00
select-cmpxchg.ll
select-crash-noverify.ll
select-crash.ll [IRBuilder] Update IRBuilder::CreateFNeg(...) to return a UnaryOperator 2019-10-14 15:35:01 +00:00
select-ctlz-to-cttz.ll
select-extractelement.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
select-gep.ll
select-icmp-and.ll
select-imm-canon.ll [InstCombine] Fix worklist management when simplifying demanded bits 2020-02-18 17:55:40 +01:00
select-load-call.ll
select-obo-peo-ops.ll
select-of-bittest.ll
select-pr39595.ll [InstCombine] Process newly inserted instructions in the correct order 2020-01-30 09:40:10 +01:00
select-select.ll
select-with-bitwise-ops.ll
select.ll [InstCombine] form copysign from select of FP constants (PR44153) 2020-01-20 10:51:14 -05:00
set-lowbits-mask-canonicalize.ll
set.ll
setcc-strength-reduce.ll
sext.ll
shift-add.ll [ValueTracking] Add DemandedElts support to computeKnownBits/ComputeNumSignBits (PR36319) 2020-02-01 12:45:46 +00:00
shift-amount-reassociation-in-bittest-with-truncation-lshr.ll
shift-amount-reassociation-in-bittest-with-truncation-shl.ll
shift-amount-reassociation-in-bittest.ll [NFC][InstCombine] More test for "sign bit test via shifts" pattern (PR43595) 2019-10-13 17:11:16 +00:00
shift-amount-reassociation-with-truncation-ashr.ll [NFC][InstCombine] More test for "sign bit test via shifts" pattern (PR43595) 2019-10-13 17:11:16 +00:00
shift-amount-reassociation-with-truncation-lshr.ll [NFC][InstCombine] More test for "sign bit test via shifts" pattern (PR43595) 2019-10-13 17:11:16 +00:00
shift-amount-reassociation-with-truncation-shl.ll [NFC][InstCombine] More test for "sign bit test via shifts" pattern (PR43595) 2019-10-13 17:11:16 +00:00
shift-amount-reassociation.ll [NFC][InstCombine] More test for "sign bit test via shifts" pattern (PR43595) 2019-10-13 17:11:16 +00:00
shift-by-signext.ll
shift-direction-in-bit-test.ll
shift-logic.ll [InstCombine] prevent crashing/assert on shift constant expression (PR44028) 2019-11-17 17:31:09 -05:00
shift-shift.ll
shift-sra.ll
shift.ll [InstCombine] Invert add A, sext(B) --> sub A, zext(B) canonicalization (to sub A, zext B -> add A, sext B) 2019-12-05 21:21:30 +03:00
shl-and-negC-icmpeq-zero.ll
shl-and-signbit-icmpeq-zero.ll
shl-sub.ll
shl-unsigned-cmp-const.ll
should-change-type.ll
shuffle_select.ll [InstCombine] remove identity shuffle simplification for mask with undefs 2019-11-24 10:06:26 -05:00
shuffle-select-narrow.ll
shufflevec-bitcast.ll
shufflevec-constant.ll
shufflevector-div-rem.ll [InstCombine] Fix miscompile bug in canEvaluateShuffled 2019-10-18 07:42:02 +00:00
sign-bit-test-via-right-shifting-all-other-bits.ll [InstCombine] Shift amount reassociation in shifty sign bit test (PR43595) 2019-10-20 19:38:50 +00:00
sign-test-and-or.ll
signbit-lshr-and-icmpeq-zero.ll
signbit-shl-and-icmpeq-zero.ll
signed-comparison.ll
signed-truncation-check.ll
signext.ll
simplify-demanded-bits-pointer.ll
simplify-libcalls-erased.ll
simplify-libcalls.ll
sincospi.ll
sink_instruction.ll
sink-alloca.ll [ValueTracking] Pointer is known nonnull after load/store 2019-12-11 20:32:29 +01:00
sink-into-catchswitch.ll
sitofp.ll
smax-icmp.ll
smin-icmp.ll
snprintf.ll
sprintf-1.ll
sprintf-void.ll
sqrt-nofast.ll
sqrt.ll
srem1.ll
srem-canonicalize.ll
srem-simplify-bug.ll
srem-via-sdiv-mul-sub.ll
ssub-with-overflow.ll
stack-overalign.ll
stacksave-debuginfo.ll Wrong debug info generated at -O2 (-O0 is correct) 2019-11-07 11:19:41 -08:00
stacksaverestore.ll
statepoint.ll
stdio-custom-dl.ll Reland [DataLayout] Fix occurrences that size and range of pointers are assumed to be the same. 2019-12-13 14:30:21 +00:00
store-load-unaliased-gep.ll
store.ll
storemerge-dbg.ll
stpcpy_chk-1.ll
stpcpy_chk-2.ll
stpcpy-1.ll
stpcpy-2.ll
str-int-2.ll
str-int.ll
strcat-1.ll
strcat-2.ll
strcat-3.ll
strchr-1.ll
strchr-2.ll
strcmp-1.ll
strcmp-2.ll
strcmp-memcmp.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
strict-sub-underflow-check-to-comparison-of-sub-operands.ll
strlen_chk.ll [SimplifyLibCalls] Add __strlen_chk. 2020-02-08 11:51:00 -08:00
strlen-1.ll
strlen-2.ll
strncat-1.ll
strncat-2.ll
strncat-3.ll
strncmp-1.ll
strncmp-2.ll
strncmp-wrong-datalayout.ll
strncpy_chk-1.ll
strncpy_chk-2.ll
strncpy-1.ll
strncpy-2.ll
strndup.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-new.ll
struct-assign-tbaa.ll
sub-and-or-neg-xor.ll
sub-ashr-and-to-icmp-select.ll [InstCombine] Process newly inserted instructions in the correct order 2020-01-30 09:40:10 +01:00
sub-ashr-or-to-icmp-select.ll [InstCombine] Process newly inserted instructions in the correct order 2020-01-30 09:40:10 +01:00
sub-gep.ll [InstCombine] Process newly inserted instructions in the correct order 2020-01-30 09:40:10 +01:00
sub-minmax.ll [InstCombine] Process newly inserted instructions in the correct order 2020-01-30 09:40:10 +01:00
sub-not.ll
sub-of-negatible.ll [NFC][InstCombine] Update sub-of-negatible.ll test 2019-12-04 15:49:36 +03:00
sub-or-and-xor.ll
sub-xor-or-neg-and.ll
sub-xor.ll
sub.ll [InstCombine] Push negation through multiply (PR44234) 2020-01-31 20:58:55 +01:00
subtract-from-one-hand-of-select.ll [InstCombine] Sink sub into hands of select if one hand becomes zero. Part 2 (PR44426) 2020-01-04 17:30:51 +03:00
subtract-of-one-hand-of-select.ll [NFC][InstCombine] 'subtract from one hands of select' pattern tests (PR44426) 2020-01-04 17:30:51 +03:00
switch-constant-expr.ll
switch-truncate-crash.ll
tan-nofastmath.ll
tan.ll
tbaa-store-to-load.ll
toascii-1.ll
token.ll
trunc-binop-ext.ll
trunc-load.ll
trunc.ll [InstCombine] allow more narrowing of casted select 2020-01-27 16:35:50 -05:00
type_pun.ll
uadd-with-overflow.ll
uaddo.ll
udiv_select_to_select_shift.ll
udiv-simplify.ll
udivrem-change-width.ll
umax-icmp.ll
umin-icmp.ll
umul-sign-check.ll [InstCombine] Simplify a umul overflow check to a != 0 && b != 0. 2020-02-18 09:11:55 +01:00
unavailable-debug.ll Reapply: [DebugInfo] Correctly handle salvaged casts and split fragments at ISel 2019-12-18 16:26:42 +00:00
unfold-masked-merge-with-const-mask-scalar.ll
unfold-masked-merge-with-const-mask-vector.ll
unlocked-stdio-mingw.ll
unlocked-stdio.ll
unordered-fcmp-select.ll [InstCombine] propagate fast-math-flags (FMF) to select when inverting fcmp+select 2019-11-13 10:38:42 -05:00
unpack-fca.ll [InstCombine] don't assume 'inbounds' for bitcast pointer to GEP transform (PR43501) 2019-10-06 13:08:08 +00:00
unrecognized_three-way-comparison.ll
unsigned_saturated_sub.ll [InstCombine] Expand usub_sat patterns to handle constants 2019-11-30 16:58:01 +00:00
unsigned-add-lack-of-overflow-check-via-add.ll
unsigned-add-lack-of-overflow-check-via-xor.ll
unsigned-add-lack-of-overflow-check.ll
unsigned-add-overflow-check-via-add.ll
unsigned-add-overflow-check-via-xor.ll
unsigned-add-overflow-check.ll
unsigned-mul-lack-of-overflow-check-via-mul-udiv.ll
unsigned-mul-lack-of-overflow-check-via-udiv-of-allones.ll
unsigned-mul-overflow-check-via-mul-udiv.ll
unsigned-mul-overflow-check-via-udiv-of-allones.ll
unsigned-sub-lack-of-overflow-check.ll
unsigned-sub-overflow-check.ll
unused-nonnull.ll Revert "[InstCombine] keep assumption before sinking calls" 2019-12-05 10:39:34 -08:00
urem-simplify-bug.ll
urem-via-udiv-mul-sub.ll
usub-overflow-known-by-implied-cond.ll [ValueTracking] usub(a, b) cannot overflow if a >= b. 2020-02-07 10:41:18 +00:00
vararg.ll
variable-signext-of-variable-high-bit-extraction.ll
vec_demanded_elts.ll [InstCombine] remove identity shuffle simplification for mask with undefs 2019-11-24 10:06:26 -05:00
vec_extract_2elts.ll
vec_extract_var_elt.ll
vec_gep_scalar_arg.ll
vec_phi_extract.ll
vec_sext.ll [InstCombine] Process newly inserted instructions in the correct order 2020-01-30 09:40:10 +01:00
vec_shuffle.ll [InstCombine] add more splat tests with undef elements; NFC 2020-02-04 09:13:08 -05:00
vec_udiv_to_shift.ll [X86][InstCombine] Move non-X86 specific instcombine test from test/CodeGen/X86/ to test/Transforms/InstCombine/ 2019-12-01 10:31:04 -08:00
vec-binop-select.ll
vector_gep1.ll
vector_gep2.ll
vector_insertelt_shuffle.ll
vector-casts.ll
vector-concat-binop.ll
vector-mul.ll
vector-type.ll
vector-udiv.ll
vector-urem.ll [InstCombine] fix undef propagation for vector urem transform (PR44186) 2019-12-02 12:17:38 -05:00
vector-xor.ll
volatile_store.ll
wcslen-1.ll
wcslen-2.ll
wcslen-3.ll
wcslen-4.ll
weak-symbols.ll
widenable-conditions.ll Precommit tests for forthcoming widenable.condition transforms 2019-11-20 17:02:04 -08:00
win-math.ll
with_overflow.ll [InstCombine] Optimize overflow check base on uadd.with.overflow result 2019-12-11 20:52:04 +01:00
xor2.ll
xor-icmps.ll
xor-of-icmps-with-extra-uses.ll
xor-undef.ll
xor.ll [InstCombine] Process newly inserted instructions in the correct order 2020-01-30 09:40:10 +01:00
zero-point-zero-add.ll
zeroext-and-reduce.ll
zext-bool-add-sub.ll [InstCombine] Invert add A, sext(B) --> sub A, zext(B) canonicalization (to sub A, zext B -> add A, sext B) 2019-12-05 21:21:30 +03:00
zext-fold.ll
zext-or-icmp.ll [InstCombine] Insert instructions before adding them to worklist 2019-12-18 14:55:41 -05:00
zext-phi.ll
zext.ll Revert "[InstCombine] fold zext of masked bit set/clear" 2020-01-08 11:21:21 +01: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.