llvm-project/llvm/test/Transforms/IRCE
Max Kazantsev 1ac6e8ae61 [IRCE] Remove folding of two range checks into RANGE_CHECK_BOTH
The logic of replacing of a couple `RANGE_CHECK_LOWER + RANGE_CHECK_UPPER`
into `RANGE_CHECK_BOTH` in fact duplicates the logic of range intersection which
happens when we calculate safe iteration space. Effectively, the result of intersection of
these ranges doesn't differ from the range of merged range check.

We chose to remove duplicating logic in favor of code simplicity.

Differential Revision: https://reviews.llvm.org/D39589

llvm-svn: 318508
2017-11-17 06:49:26 +00:00
..
add-metadata-pre-post-loops.ll [NFC] Get rid of hard-coded value ID in test 2017-11-03 07:30:45 +00:00
bad-loop-structure.ll [IRCE] Add a missing invariant check 2017-02-07 23:59:07 +00:00
bad_expander.ll [IRCE] Fix SCEVExpander's usage in IRCE 2017-11-16 06:06:27 +00:00
bug-loop-varying-upper-limit.ll [IRCE] Create llvm::Loop instances for cloned out loops 2016-08-14 01:04:46 +00:00
bug-mismatched-types.ll [IRCE] Create llvm::Loop instances for cloned out loops 2016-08-14 01:04:46 +00:00
clamp.ll Revert rL311205 "[IRCE] Fix buggy behavior in Clamp" 2017-11-01 13:21:56 +00:00
conjunctive-checks.ll [IRCE] Create llvm::Loop instances for cloned out loops 2016-08-14 01:04:46 +00:00
correct-loop-info.ll [IRCE] Fix intersection between signed and unsigned ranges 2017-10-25 06:47:39 +00:00
decrementing-loop.ll [IRCE] Create llvm::Loop instances for cloned out loops 2016-08-14 01:04:46 +00:00
empty_ranges.ll [IRCE] Fix intersection between signed and unsigned ranges 2017-10-25 06:47:39 +00:00
eq_ne.ll [IRCE] Fix intersection between signed and unsigned ranges 2017-10-25 06:47:39 +00:00
low-becount.ll [IRCE] Create llvm::Loop instances for cloned out loops 2016-08-14 01:04:46 +00:00
multiple-access-no-preloop.ll [IRCE] Create llvm::Loop instances for cloned out loops 2016-08-14 01:04:46 +00:00
not-likely-taken.ll
only-lower-check.ll [IRCE][NFC] Rename fields of InductiveRangeCheck 2017-10-31 06:19:05 +00:00
only-upper-check.ll [IRCE][NFC] Rename fields of InductiveRangeCheck 2017-10-31 06:19:05 +00:00
pre_post_loops.ll [IRCE] Fix corner case with Start = INT_MAX 2017-07-14 06:35:03 +00:00
range_intersect_miscompile.ll [IRCE] Fix intersection between signed and unsigned ranges 2017-10-25 06:47:39 +00:00
single-access-no-preloop.ll [IRCE] Do not process empty safe ranges 2017-10-11 06:53:07 +00:00
single-access-with-preloop.ll [IRCE] Remove folding of two range checks into RANGE_CHECK_BOTH 2017-11-17 06:49:26 +00:00
skip-profitability-checks.ll [IRCE] Create llvm::Loop instances for cloned out loops 2016-08-14 01:04:46 +00:00
stride_more_than_1.ll [IRCE] Fix intersection between signed and unsigned ranges 2017-10-25 06:47:39 +00:00
unhandled.ll [IRCE] Create llvm::Loop instances for cloned out loops 2016-08-14 01:04:46 +00:00
unsigned_comparisons_ugt.ll [IRCE] Fix intersection between signed and unsigned ranges 2017-10-25 06:47:39 +00:00
unsigned_comparisons_ult.ll [IRCE] Fix intersection between signed and unsigned ranges 2017-10-25 06:47:39 +00:00
with-parent-loops.ll