llvm-project/llvm/test/Transforms/InstSimplify
Nikita Popov de18fa9e52 Revert "[InstSimplify] Bypass no-op `and`-mask, using known bits (PR49543)"
This reverts commit ea1a0d7c9a.

While this is strictly more powerful, it is also strictly slower.
InstSimplify intentionally does not perform many folds that it
is allowed to perform, if doing so requires a KnownBits calculation
that will be repeated in InstCombine.

Maybe it's worthwhile to do this here, but that needs a more
explicitly stated motivation, evaluated in a review.
2021-04-21 09:55:25 +02:00
..
ConstProp [AArch64] Constant fold sve_convert_from_svbool(zero) to zero 2021-04-20 10:02:49 +00:00
2010-12-20-Boolean.ll
2011-01-14-Thread.ll
2011-02-01-Vector.ll
2011-09-05-InsertExtractValue.ll [InstSimplify] Return poison for out of bounds extractelement 2021-01-03 18:15:58 +01:00
2011-10-27-BinOpCrash.ll
2011-11-23-MaskedBitsCrash.ll
2013-04-19-ConstantFoldingCrash.ll
AndOrXor.ll Revert "[InstSimplify] Bypass no-op `and`-mask, using known bits (PR49543)" 2021-04-21 09:55:25 +02:00
abs_intrinsic.ll [InstSimplify] Don't miscompile `X == 0 ? abs(X) : -abs(X) --> -abs(X)` xform 2020-12-18 21:18:13 +03:00
add-mask.ll [ValueTracking] Add computeKnownBits DemandedElts support to masked add instructions (PR36319) 2020-03-18 21:50:56 +00:00
add.ll [InstSimplify] Add tests that fold instructions with poison operands (NFC) 2020-12-02 01:01:59 +09:00
addsub.ll
and-icmps-same-ops.ll
and-or-icmp-min-max.ll [InstSimplify] peek through 'not' operand in logic-of-icmps fold 2020-10-25 11:13:30 -04:00
and-or-icmp-nullptr.ll [InstSimplify] fold and/or of compares with equality to min/max constant 2020-04-23 09:16:10 -04:00
and-or-icmp-zero.ll
and.ll [InstSimplify] Add tests that fold instructions with poison operands (NFC) 2020-12-02 01:01:59 +09:00
assume-non-zero.ll
assume_icmp.ll [InstSimplify] Fold icmp with dominating assume 2020-07-03 18:53:58 +02:00
bitcast-vector-fold.ll
bitreverse-fold.ll
bitreverse.ll [ValueTracking] Add computeKnownBits DemandedElts support to EXTRACTELEMENT/OR/BSWAP/BITREVERSE instructions (PR36319) 2020-03-18 18:49:58 +00:00
bswap.ll [ValueTracking] Add computeKnownBits DemandedElts support to EXTRACTELEMENT/OR/BSWAP/BITREVERSE instructions (PR36319) 2020-03-18 18:49:58 +00:00
call.ll [InstSimplify] ctlz({signbit} >>u x) --> x 2021-03-15 12:03:35 -04:00
cast-unsigned-icmp-cmp-0.ll
cast.ll
cmp-vec-fast-path.ll [SVE] Take constant fold fast path for splatted vscale vectors 2020-11-17 12:45:31 -08:00
cmp_ext.ll [InstSimplify] Simplify comparison between zext(x) and sext(x) 2020-07-04 11:03:00 +02:00
cmp_of_min_max.ll
compare.ll [InstSimplify] allow vector folds for (Pow2C << X) == NonPow2C 2020-11-08 09:52:05 -05:00
constantfold-add-nuw-allones-to-allones.ll
constantfold-shl-nuw-C-to-C.ll
constfold-constrained.ll [FEnv] Constfold some unary constrained operations 2020-03-28 12:28:33 +07:00
dead-code-removal.ll
distribute.ll [InstSimplify] add tests for expandCommutativeBinOp; NFC 2020-07-29 23:21:39 +09:00
div-by-0-guard-before-smul_ov-not.ll
div-by-0-guard-before-smul_ov.ll
div-by-0-guard-before-umul_ov-not.ll
div-by-0-guard-before-umul_ov.ll
div.ll Revert "[ConstantFold] Fold more operations to poison" 2021-02-04 00:24:02 +09:00
exact-nsw-nuw.ll
extract-element.ll [InstSimplify] Return poison for out of bounds extractelement 2021-01-03 18:15:58 +01:00
fast-math.ll [ValueTracking] fix CannotBeNegativeZero() to disregard 'nsz' FMF 2020-05-05 16:04:59 -04:00
fcmp-select.ll
fcmp.ll [InstSimplify] Add tests that fold instructions with poison operands (NFC) 2020-12-02 01:01:59 +09:00
fdiv.ll
floating-point-arithmetic.ll [InstSimplify] add/move tests for fmin/fmax; NFC 2020-09-14 10:24:19 -04:00
floating-point-compare.ll [ValueTracking] enhance isKnownNeverInfinity to understand sitofp 2020-09-27 08:40:31 -04:00
fminmax-folds.ll [InstSimplify] Add tests that fold instructions with poison operands (NFC) 2020-12-02 01:01:59 +09:00
fold-intrinsics.ll
fp-nan.ll [InstSimplify] Fold nnan/ninf violation to poison 2021-01-03 22:05:40 +01:00
fp-undef-poison.ll [InstSimplify] Fold nnan/ninf violation to poison 2021-01-03 22:05:40 +01:00
fptoi-sat.ll [ConstantFold] Fold fptoi.sat intrinsics 2021-01-10 17:37:27 +01:00
freeze-noundef.ll Add support for !noundef metatdata on loads 2020-10-17 13:50:10 +09:00
freeze.ll [ValueTracking] Dereferenced pointers are noundef 2021-02-14 22:50:48 +09:00
gc_relocate.ll Use the right pass in test introduced in f1fdbd67 2021-03-04 12:21:13 -08:00
gep.ll [SimplifyInst] Use correct type for GEPs with vector indices. 2021-04-06 17:56:10 +01:00
icmp-abs-nabs.ll
icmp-bool-constant.ll
icmp-constant.ll Update m_Undef to match vectors/aggrs with undefs and poisons mixed 2021-04-18 10:57:04 +09:00
icmp-ranges.ll
icmp.ll [InstSimplify] Fold x*C1/C2 <= x (PR48744) 2021-01-17 16:02:55 +01:00
implies.ll
insertelement.ll [InstSimplify] Fold insertelement vec, poison, idx into vec 2021-01-07 10:10:14 +09:00
insertvalue.ll [InstSimplify] Add tests that fold instructions with poison operands (NFC) 2020-12-02 01:01:59 +09:00
known-never-nan.ll [FPEnv] Intrinsic llvm.roundeven 2020-05-26 19:24:58 +07:00
known-non-zero.ll [ValueTracking] isKnownNonZero, computeKnownBits for freeze 2020-09-10 08:07:38 +09:00
load-relative-32.ll
load-relative.ll
load.ll [AssumeBundles] add cannonicalisation to the assume builder 2020-06-19 10:32:26 +02:00
log-exp-intrinsic.ll
log2-pow2-intrinsic.ll
log10-pow10-intrinsic.ll
logic-of-fcmps.ll
maxmin.ll
maxmin_intrinsics.ll [InstSimplify] Add tests that fold instructions with poison operands (NFC) 2020-12-02 01:01:59 +09:00
mul.ll [InstSimplify] Add tests that fold instructions with poison operands (NFC) 2020-12-02 01:01:59 +09:00
named-vector-shuffle-reverse.ll [SVE] Remove checks for warnings in scalable-vector tests. 2021-04-07 15:59:32 +01:00
negate.ll
noalias-ptr.ll
null-ptr-is-valid-attribute.ll ValueTracking: Fix isKnownNonZero for non-0 null pointers for byval 2020-07-16 13:50:49 -04:00
null-ptr-is-valid.ll ValueTracking: Fix isKnownNonZero for non-0 null pointers for byval 2020-07-16 13:50:49 -04:00
or-icmps-same-ops.ll
or.ll [InstSimplify] Handle commutativity for 'and' and 'outer or' for (~A & B) | ~(A | B) --> ~A 2021-01-16 19:42:50 +01:00
past-the-end.ll
phi-cse.ll [NFC][InstSimplify] Add a note to PHI CSE tests that they are all negative tests 2020-08-29 13:13:06 +03:00
phi.ll [InstSimplify] Add tests that fold instructions with poison operands (NFC) 2020-12-02 01:01:59 +09:00
pr28725.ll
pr33957.ll
pr49495.ll [InstCombine] Whitelist non-refining folds in SimplifyWithOpReplaced 2021-03-22 22:12:56 +01:00
ptr_diff.ll
reassociate.ll
redundant-null-check-in-uadd_with_overflow-of-nonnull-ptr.ll
rem.ll Revert "[ConstantFold] Fold more operations to poison" 2021-02-04 00:24:02 +09:00
remove-dead-call.ll [Local] Treat calls that may not return as being alive. 2021-01-23 16:05:14 +00:00
require-dominator.ll
result-of-add-of-negative-is-non-zero-and-no-underflow.ll
result-of-usub-by-nonzero-is-non-zero-and-no-overflow.ll
result-of-usub-is-non-zero-and-no-overflow.ll
returned.ll [Local] Treat calls that may not return as being alive. 2021-01-23 16:05:14 +00:00
round-intrinsics.ll [FPEnv] Intrinsic llvm.roundeven 2020-05-26 19:24:58 +07:00
saturating-add-sub.ll [InstSimplify] Add tests that fold instructions with poison operands (NFC) 2020-12-02 01:01:59 +09:00
sdiv.ll
select-and-cmp.ll
select-implied.ll
select-inseltpoison.ll Precommit transform tests that have poison as insertelement's placeholder 2020-12-24 11:46:17 +09:00
select-or-cmp.ll
select.ll [InstSimplify] fix potential miscompile in select value equivalence 2021-04-05 16:52:34 -04:00
shift-128-kb.ll
shift-knownbits.ll [InstSimplify] Fold out-of-bounds shift to poison 2021-01-06 20:41:37 +01:00
shift.ll [InstSimplify] Fold out-of-bounds shift to poison 2021-01-06 20:41:37 +01:00
shr-nop.ll
shr-scalar-vector-consistency.ll
shufflevector-inseltpoison.ll Precommit tests that have poison as shufflevector's placeholder 2020-12-29 17:09:31 +09:00
shufflevector.ll [InstSimplify] Add tests that fold instructions with poison operands (NFC) 2020-12-02 01:01:59 +09:00
signed-div-rem.ll
simplify-nested-bitcast.ll
smul_fix.ll [InstSimplify] Simplify smul.fix and smul.fix.sat 2021-03-12 09:09:58 +01:00
srem.ll
sub.ll [InstSimplify] Add tests that fold instructions with poison operands (NFC) 2020-12-02 01:01:59 +09:00
undef.ll Revert "[ConstantFold] Fold more operations to poison" 2021-02-04 00:24:02 +09:00
vec-cmp.ll
vector_gep.ll
vector_ptr_bitcast.ll
vscale-inseltpoison.ll [InstSimplify] Return poison for out of bounds extractelement 2021-01-03 18:15:58 +01:00
vscale.ll [InstSimplify] Return poison for out of bounds extractelement 2021-01-03 18:15:58 +01:00
xor.ll [InstSimplify] Add tests that fold instructions with poison operands (NFC) 2020-12-02 01:01:59 +09:00