[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