[PATCH] D57221: [LoopSimplifyCFG] Change logic of dead loops removal to avoid hitting asserts
    Max Kazantsev via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Tue Jan 29 03:40:33 PST 2019
    
    
  
mkazantsev marked an inline comment as done.
mkazantsev added inline comments.
================
Comment at: lib/Transforms/Scalar/LoopSimplifyCFG.cpp:408-409
+        Loop *DL = LI.getLoopFor(BB);
+        if (DL->getParentLoop()) {
+          for (auto *PL = DL->getParentLoop(); PL; PL = PL->getParentLoop())
+            for (auto *BB : DL->getBlocks())
----------------
uabelho wrote:
> Perhaps replace
> 
>         if (DL->getParentLoop()) {
>           for (auto *PL = DL->getParentLoop(); PL; PL = PL->getParentLoop())
> 
> with
> 
>         while (auto *PL = DL->getParentLoop()) {
> 
> ?
And loop infinitely? :) We need to change DL somehow, otherwise PL is always the same loop.
CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D57221/new/
https://reviews.llvm.org/D57221
    
    
More information about the llvm-commits
mailing list