forked from OSchip/llvm-project
99a6e405ed
IRCE pass checks that it can calculate loop bounds by checking SCEV availability at loop entry. However it is possible that loop bound SCEV is loop invariant, but instruction used to compute it resides within loop. In such case adjusting loop bound in preheader using IRBuilder leads to malformed SSA. Use SCEVExpander instead to generate proper instructions. Reviewed-by: mkazantsev Differential Revision: https://reviews.llvm.org/D73496 |
||
---|---|---|
.. | ||
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 | ||
correct-loop-info.ll | ||
decrementing-loop.ll | ||
empty_ranges.ll | ||
eq_ne.ll | ||
low-becount.ll | ||
multiple-access-no-preloop.ll | ||
non-loop-invariant-rhs-instr.ll | ||
non_known_positive_end.ll | ||
not-likely-taken.ll | ||
only-lower-check.ll | ||
only-upper-check.ll | ||
optimistic_scev.ll | ||
pre_post_loops.ll | ||
range_intersect_miscompile.ll | ||
ranges_of_different_types.ll | ||
rc-negative-bound.ll | ||
single-access-no-preloop.ll | ||
single-access-with-preloop.ll | ||
skip-profitability-checks.ll | ||
stride_more_than_1.ll | ||
unhandled.ll | ||
unsigned_comparisons_ugt.ll | ||
unsigned_comparisons_ult.ll | ||
variable-loop-bounds.ll | ||
wide_indvar.ll | ||
with-parent-loops.ll |