llvm-project/llvm/test/Transforms/LoopPredication
Anna Thomas 452714f8f8 [BPI] Keep BPI available in loop passes through LoopStandardAnalysisResults
This is analogous to D86156 (which preserves "lossy" BFI in loop
passes). Lossy means that the analysis preserved may not be up to date
with regards to new blocks that are added in loop passes, but BPI will
not contain stale pointers to basic blocks that are deleted by the loop
passes.

This is achieved through BasicBlockCallbackVH in BPI, which calls
eraseBlock that updates the data structures in BPI whenever a basic
block is deleted.

This patch does not have any changes in the upstream pipeline, since
none of the loop passes in the pipeline use BPI currently.
However, since BPI wasn't previously preserved in loop passes, the loop
predication pass was invoking BPI *on the entire
function* every time it ran in an LPM.  This caused massive compile time
in our downstream LPM invocation which contained loop predication.

See updated test with an invocation of a loop-pipeline containing loop
predication and -debug-pass turned ON.

Reviewed-By: asbirlea, modimo
Differential Revision: https://reviews.llvm.org/D110438
2021-09-30 10:27:05 -04:00
..
basic.ll [LoopPredication] Preserve MemorySSA 2021-08-26 11:36:25 -04:00
basic_widenable_branch_guards.ll [LoopPredication] Preserve MemorySSA 2021-08-26 11:36:25 -04:00
invalidate-analyses.ll Update LoopPredication test to fix buildbot failure. 2021-09-16 23:37:59 +00:00
invariant_load.ll [LoopPredication] Preserve MemorySSA 2021-08-26 11:36:25 -04:00
nested.ll [LoopPredication] Preserve MemorySSA 2021-08-26 11:36:25 -04:00
predicate-exits.ll [LoopPredication] Fix MemorySSA crash in predicateLoopExits 2021-09-02 21:26:07 -04:00
preserve-bpi.ll [BPI] Keep BPI available in loop passes through LoopStandardAnalysisResults 2021-09-30 10:27:05 -04:00
profitability.ll Add profile count. Regenerate check lines. NFC 2021-09-28 15:33:49 -04:00
reverse.ll [LoopPredication] Preserve MemorySSA 2021-08-26 11:36:25 -04:00
unswitch-exit-loop.ll [LoopPredication] Preserve MemorySSA 2021-08-26 11:36:25 -04:00
visited.ll [LoopPredication] Preserve MemorySSA 2021-08-26 11:36:25 -04:00
widened.ll [LoopPredication] Preserve MemorySSA 2021-08-26 11:36:25 -04:00