llvm-project/llvm/test/Transforms/InstSimplify
Sanjay Patel 68171e3cd6 [InstSimplify] use any-zero matcher for fcmp folds
The m_APFloat matcher does not work with anything but strict
splat vector constants, so we could miss these folds and then
trigger an assertion in instcombine:
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=13201

The previous attempt at this in rL354406 had a logic bug that
actually triggered a regression test failure, but I failed to
notice it the first time.

llvm-svn: 354467
2019-02-20 14:34:00 +00:00
..
2010-12-20-Boolean.ll
2011-01-14-Thread.ll
2011-02-01-Vector.ll
2011-09-05-InsertExtractValue.ll
2011-10-27-BinOpCrash.ll
2011-11-23-MaskedBitsCrash.ll
2013-04-19-ConstantFoldingCrash.ll
AndOrXor.ll [InstSimplify] fold extracting from std::pair (2/2) 2018-08-03 05:39:48 +00:00
add-mask.ll
add.ll [InstSimplify] simplify add instruction if two operands are negative 2018-07-12 03:06:04 +00:00
addsub.ll
and-icmps-same-ops.ll
and-or-icmp-zero.ll
assume.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
bitcast-vector-fold.ll
bitreverse-fold.ll
bitreverse.ll
bswap.ll
call.ll [ConstantFolding] Consolidate and extend bitcount intrinsic tests; NFC 2018-12-20 19:46:52 +00:00
cast-unsigned-icmp-cmp-0.ll [PatternMatch] allow undef elements when matching a vector zero 2018-04-22 17:07:44 +00:00
cast.ll
compare.ll llvm: Add support for "-fno-delete-null-pointer-checks" 2018-07-09 22:27:23 +00:00
constantfold-add-nuw-allones-to-allones.ll [InstSimplify] add nuw %x, -1 -> -1 fold. 2018-06-08 15:44:47 +00:00
constantfold-shl-nuw-C-to-C.ll [NFC][InstSimplify] One more negative test for shl nuw C, %x -> C fold. 2018-06-07 21:19:45 +00:00
dead-code-removal.ll
div.ll [InstSimplify] fold div/rem of zexted bool 2018-06-25 18:51:21 +00:00
exact-nsw-nuw.ll
extract-element.ll [InstCombine] remove dead code from visitExtractElement 2018-12-05 23:09:33 +00:00
fast-math.ll [FPEnv] PatternMatcher support for checking FNEG ignoring signed zeros 2018-10-09 21:48:00 +00:00
fcmp-select.ll [InstSimplify] fold select (fcmp X, Y), X, Y 2018-11-05 21:51:39 +00:00
fdiv.ll [InstSimplify] add tests for FP with undef operand; NFC 2018-02-27 20:17:18 +00:00
floating-point-arithmetic.ll [InstCombine] InstCombine and InstSimplify for minimum and maximum 2018-10-19 19:01:26 +00:00
floating-point-compare.ll [InstSimplify] use any-zero matcher for fcmp folds 2019-02-20 14:34:00 +00:00
fold-builtin-fma.ll
fold-intrinsics.ll
fp-nan.ll [InstSimplify] fp_binop X, NaN --> NaN 2018-03-21 19:31:53 +00:00
fp-undef.ll [InstSimplify] add tests for undef + partial undef constant folding; NFC 2018-11-30 22:51:34 +00:00
gep.ll [InstSimplify] regenerate checks, move tests; NFC 2018-03-23 15:31:31 +00:00
icmp-abs-nabs.ll [InstSimplify] fold icmp based on range of abs/nabs (2nd try) 2018-11-01 14:07:39 +00:00
icmp-bool-constant.ll [PatternMatch] enhance m_One() to ignore undef elements in vectors 2018-02-17 16:00:42 +00:00
icmp-constant.ll
icmp-ranges.ll
implies.ll
insertelement.ll
known-never-nan.ll [InstSimplify] use isKnownNeverNaN to fold more fcmp ord/uno 2018-08-21 14:45:13 +00:00
load-relative-32.ll
load-relative.ll
load.ll
log-exp-intrinsic.ll [InstSimplify] allow exp/log simplifications with only 'reassoc' FMF 2018-02-12 23:51:23 +00:00
log2-pow2-intrinsic.ll [InstSimplify] Missed optimization in math expression: log10(pow(10.0,x)) == x, log2(pow(2.0,x)) == x 2019-02-03 03:48:30 +00:00
log10-pow10-intrinsic.ll [InstSimplify] Missed optimization in math expression: log10(pow(10.0,x)) == x, log2(pow(2.0,x)) == x 2019-02-03 03:48:30 +00:00
logic-of-fcmps.ll
maxmin.ll
mul.ll [PatternMatch] allow undef elements when matching a vector zero 2018-04-22 17:07:44 +00:00
negate.ll [PatternMatch] allow undef elements when matching a vector zero 2018-04-22 17:07:44 +00:00
noalias-ptr.ll
or-icmps-same-ops.ll
or.ll [PatternMatch, InstSimplify] enhance m_AllOnes() to ignore undef elements in vectors 2018-02-18 18:05:08 +00:00
past-the-end.ll
phi.ll
pr28725.ll
pr33957.ll
ptr_diff.ll
reassociate.ll
rem.ll [InstSimplify] fold srem with sext bool divisor 2018-06-26 15:32:54 +00:00
require-dominator.ll
returned.ll
saturating-add-sub.ll [InstSimplify] Simplify saturating add/sub + icmp 2018-12-17 17:45:18 +00:00
sdiv.ll [InstrSimplify] fold sdiv if two operands are negated and non-overflow 2018-07-21 12:27:54 +00:00
select-and-cmp.ll [InstSimplify] Fold another Select with And/Or pattern 2018-07-31 14:17:15 +00:00
select-implied.ll [InstSimplify] fold select with implied condition 2018-11-29 18:44:39 +00:00
select-or-cmp.ll [InstSimplify] Fold another Select with And/Or pattern 2018-07-31 14:17:15 +00:00
select.ll Reland r301880(!): "[InstSimplify] Handle selects of GEPs with 0 offset" 2018-04-24 00:25:01 +00:00
shift-128-kb.ll
shift-knownbits.ll
shift.ll [InstSimplify] fold extracting from std::pair (1/2) 2018-08-01 04:40:32 +00:00
shr-nop.ll [InstSimplify] move tests for shifts; NFC 2018-04-21 16:58:00 +00:00
shr-scalar-vector-consistency.ll [PatternMatch] Handle undef vectors consistently 2018-11-20 16:08:19 +00:00
shufflevector.ll
signed-div-rem.ll
simplify-nested-bitcast.ll
srem.ll [InstSimplify] fold srem instruction if its two operands are negated. 2018-07-20 13:00:47 +00:00
sub.ll [InstCombine] move/add tests for sub/neg; NFC 2018-10-19 17:26:22 +00:00
undef.ll
vec-cmp.ll
vector_gep.ll [ConstantFolding, InstSimplify] Handle more vector GEPs 2018-03-15 16:00:29 +00:00
vector_ptr_bitcast.ll