[PATCH] D50433: A New Divergence Analysis for LLVM

Nicolai Hähnle via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 24 03:55:31 PDT 2018


nhaehnle added a comment.

In https://reviews.llvm.org/D50433#1212161, @simoll wrote:

> In https://reviews.llvm.org/D50433#1210654, @nhaehnle wrote:
>
> > Also, maybe I missed it, but could you state clearly in a comment what the assumed preconditions are for correctness?
>
>
> I will add comments to the class declarations of the DA and SDA - they require the CFG to be reducible.


Thanks!

> In https://reviews.llvm.org/D50433#1210654, @nhaehnle wrote:
> 
>> And in particular, how do you propose we deal with unstructured loops? This looks like a regression to me at this point.
> 
> 
> Irreducible loops are rare and so i was planning to add support for them in a future revision.

[snip]

> 1. Proper implementation In the SDA, run a fixed point loop until the definitions at the loop headers stabilize (somewhat like https://reviews.llvm.org/D50433#1210817). The DA changes would be the same as in workaround #2.
> 2. Proposed solution Do workaround #1 now and supplement precise irreducible loop handling in a future revision (first workaround #2 to test the DA changes, then the proper SDA implementation). That way there are no regressions compared to the existing DA and, unlike now, results will be sound on the by far more frequent reducible CFG case.

I'll need some time to think about the SDA iteration, but generally that proposal sounds good to me.


Repository:
  rL LLVM

https://reviews.llvm.org/D50433





More information about the llvm-commits mailing list