llvm-project/llvm/test/Transforms/IRCE
Max Kazantsev d9aee3c0d1 [IRCE] Support narrow latch condition for wide range checks
This patch relaxes restrictions on types of latch condition and range check.
In current implementation, they should match. This patch allows to handle
wide range checks against narrow condition. The motivating example is the
following:

  int N = ...
  for (long i = 0; (int) i < N; i++) {
    if (i >= length) deopt;
  }

In this patch, the option that enables this support is turned off by
default. We'll wait until it is switched to true.

Differential Revision: https://reviews.llvm.org/D56837
Reviewed By: reames

llvm-svn: 351926
2019-01-23 07:20:56 +00:00
..
add-metadata-pre-post-loops.ll
bad-loop-structure.ll
bad_expander.ll
bug-loop-varying-upper-limit.ll
bug-mismatched-types.ll
clamp.ll
conjunctive-checks.ll Revert "[SCEV][NFC] Check NoWrap flags before lexicographical comparison of SCEVs" 2018-08-27 21:41:37 +00:00
correct-loop-info.ll
decrementing-loop.ll
empty_ranges.ll
eq_ne.ll
low-becount.ll
multiple-access-no-preloop.ll
non_known_positive_end.ll
not-likely-taken.ll
only-lower-check.ll [NFC] Remove obsolete enum RangeCheckKind 2019-01-15 10:48:45 +00:00
only-upper-check.ll [NFC] Remove obsolete enum RangeCheckKind 2019-01-15 10:48:45 +00:00
optimistic_scev.ll
pre_post_loops.ll
range_intersect_miscompile.ll
ranges_of_different_types.ll
rc-negative-bound.ll [IRCE] Fix miscompile with range checks against negative values 2018-05-19 13:06:37 +00:00
single-access-no-preloop.ll Revert "[SCEV][NFC] Check NoWrap flags before lexicographical comparison of SCEVs" 2018-08-27 21:41:37 +00:00
single-access-with-preloop.ll
skip-profitability-checks.ll
stride_more_than_1.ll [IRCE] Only check for NSW on equality predicates 2018-04-18 13:50:28 +00:00
unhandled.ll
unsigned_comparisons_ugt.ll
unsigned_comparisons_ult.ll
variable-loop-bounds.ll [IRCE] isKnownNonNegative helper function 2018-04-12 12:49:40 +00:00
wide_indvar.ll [IRCE] Support narrow latch condition for wide range checks 2019-01-23 07:20:56 +00:00
with-parent-loops.ll