1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-23 04:52:54 +02:00
llvm-mirror/test/Transforms/IRCE
Anna Thomas c26a4baf9a [IRCE] Canonicalize pre/post loops after the blocks are added into parent loop
Summary:
We were canonizalizing the pre loop (into loop-simplify form) before
the post loop blocks were added into parent loop. This is incorrect when IRCE is
done on a subloop. The post-loop blocks are created, but not yet added to the
parent loop. So, loop-simplification on the pre-loop incorrectly updates
LoopInfo.

This patch corrects the ordering so that pre and post loop blocks are added to
parent loop (if any), and then the loops are canonicalized to LCSSA and
LoopSimplifyForm.

Reviewers: reames, sanjoy, apilipenko

Subscribers: llvm-commits

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

llvm-svn: 304800
2017-06-06 14:54:01 +00:00
..
add-metadata-pre-post-loops.ll [IRCE] Avoid loop optimizations on pre and post loops 2016-12-13 21:05:21 +00:00
bad-loop-structure.ll [IRCE] Add a missing invariant check 2017-02-07 23:59:07 +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
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] Canonicalize pre/post loops after the blocks are added into parent loop 2017-06-06 14:54:01 +00:00
decrementing-loop.ll [IRCE] Create llvm::Loop instances for cloned out loops 2016-08-14 01:04:46 +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] Create llvm::Loop instances for cloned out loops 2016-08-14 01:04:46 +00:00
only-upper-check.ll [IRCE] Create llvm::Loop instances for cloned out loops 2016-08-14 01:04:46 +00:00
single-access-no-preloop.ll [IRCE] Create llvm::Loop instances for cloned out loops 2016-08-14 01:04:46 +00:00
single-access-with-preloop.ll [IRCE] Create llvm::Loop instances for cloned out loops 2016-08-14 01:04:46 +00:00
skip-profitability-checks.ll [IRCE] Create llvm::Loop instances for cloned out loops 2016-08-14 01:04:46 +00:00
unhandled.ll [IRCE] Create llvm::Loop instances for cloned out loops 2016-08-14 01:04:46 +00:00
with-parent-loops.ll