[PATCH] D43176: [LoopInterchange] Incrementally update the dominator tree.

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 12 13:00:50 PST 2018


efriedma added inline comments.


================
Comment at: lib/Transforms/Scalar/LoopInterchange.cpp:465
+
+    AU.addPreserved<DominatorTreeWrapperPass>();
   }
----------------
fhahn wrote:
> efriedma wrote:
> > This list of preserved passes seems really short; at the very least, it should preserve GlobalsAA.  Would be nice to preserve LoopInfo, LCSSA, and ScalarEvolution; I think the pass needs to preserve them anyway to interact correctly with itself?
> Yes, making it preserve the DT is a first step. It indeed relies on  LoopInfo, LCSSA, and ScalarEvolution being preserved too after interchanging 2 loops, for loop nests > 2. 
> 
> At least LoopInfo is not preserved properly at the moment. I plan to fix those issues in follow up commits.
Okay.

You should probably make DomTree required, to simplify the code; you'll always have it anyway because LoopInfo requires it.


https://reviews.llvm.org/D43176





More information about the llvm-commits mailing list