[PATCH] D29865: [PDSE] Add a no-op pass.

Daniel Berlin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Feb 12 12:56:47 PST 2017


dberlin added a comment.

In https://reviews.llvm.org/D29865#674642, @davide wrote:

> Also, it would be great if you can provide real examples of where this helps (e.g. how often do you expect this to trigger in practice, and why it matters).


I can provide cases :)

There are a lot of them.
It's PRE for stores.

> I assume you experimented enough with this to have a complete'ish pass somewhere out-of-tree. If so, did you run this on something to measure the impact?

I mentioned a lot of this to bryant yesterday, that these are things that we'd have to work through.

> Side question: do you want this to be run as part of the default pipeline eventually? What's the compile time cost?

Staring at it, i'm pretty confident the compile time cost can be  made minimal
The biggest cost is going to be the IDF calculation.

We can use one of the multiple-variable phi placement algorithms, or actually use the incremental construction algorithm from the new SSA updater, on the reverse graph, to place lambdas exactly where they are needed
(this is a bit trickier, but lowest cost option).

If *all* of that fails, we can make it non-sparse and solve for all variables at once.


Repository:
  rL LLVM

https://reviews.llvm.org/D29865





More information about the llvm-commits mailing list