llvm-project/llvm/lib
Anna Thomas 7218032019 [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
..
Analysis Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
AsmParser Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
Bitcode Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
CodeGen Fix spelling mistake in getRThroughput static function names. NFCI. 2017-06-06 14:25:34 +00:00
DebugInfo Fix another ordering constraint with windows.h and comment about 2017-06-06 12:43:20 +00:00
Demangle [ItaniumDemangle] Fix a exponential string copying bug 2017-05-28 23:24:52 +00:00
ExecutionEngine Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
Fuzzer Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
IR Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
IRReader Timer: Track name and description. 2016-11-18 19:43:18 +00:00
LTO Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
LineEditor
Linker Support for taking the max of module flags when linking, use for PIE/PIC 2017-05-23 00:08:00 +00:00
MC Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
Object Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
ObjectYAML Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
Option Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
Passes [PM] Add GVNSink to the pipeline. 2017-06-03 23:18:29 +00:00
ProfileData Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
Support Fix another ordering constraint with windows.h and comment about 2017-06-06 12:43:20 +00:00
TableGen Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
Target [X86][AVX1] Split 256-bit vector non-temporal FastISel loads to keep it non-temporal (PR32744) 2017-06-06 14:18:39 +00:00
ToolDrivers Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
Transforms [IRCE] Canonicalize pre/post loops after the blocks are added into parent loop 2017-06-06 14:54:01 +00:00
XRay Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
CMakeLists.txt Move lib/LibDriver -> lib/ToolDrivers/llvm-lib. NFCI. 2017-05-13 22:06:46 +00:00
LLVMBuild.txt Move lib/LibDriver -> lib/ToolDrivers/llvm-lib. NFCI. 2017-05-13 22:06:46 +00:00