[LLVMbugs] [Bug 2377] LCSSA recomputed too many times

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Feb 11 17:10:38 PST 2014


Chandler Carruth <chandlerc at gmail.com> changed:

           What    |Removed                     |Added
             Status|NEW                         |RESOLVED
                 CC|                            |chandlerc at gmail.com
         Resolution|---                         |FIXED

--- Comment #8 from Chandler Carruth <chandlerc at gmail.com> ---
This was fixed by my recent work to restructure the loop optimizations in LLVM.

Now, both LoopSimplify and LCSSA are function passes that arrange all of the
loop nests in their "canonical" form. SCEV as an analysis doesn't disrupt this
and the loop pass manager doesn't have to be re-built which needlessly re-ran
these passes.

Also, LICM now preserves LCSSA which further reduces the re-runs.

Currently, we compute LCSSA only 3 times, twice in the CGSCC pipeline, and once
afterward for vectorization. This is minimal until we have a loop-instcombine
pass and thus only a single loop pass pipeline in the CGSCC pipeline.

There are still problems where LICM reforms LCSSA too often after mutating the
function body, but that should be tracked separately. There is nothing else to
do here w.r.t. the pass manager.

You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20140212/dc1a8c43/attachment.html>

More information about the llvm-bugs mailing list