-
Notifications
You must be signed in to change notification settings - Fork 13.3k
LLVM needs a generic update SSA mechanism #589
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Changing all of these bugs who do not have people looking at them to be assigned If I stole your bug, and you still want it, feel free to take ownership back. -Chris |
3 similar comments
Changing all of these bugs who do not have people looking at them to be assigned If I stole your bug, and you still want it, feel free to take ownership back. -Chris |
Changing all of these bugs who do not have people looking at them to be assigned If I stole your bug, and you still want it, feel free to take ownership back. -Chris |
Changing all of these bugs who do not have people looking at them to be assigned If I stole your bug, and you still want it, feel free to take ownership back. -Chris |
I would also like this for my pass in llvm/llvm-bugzilla-archive#807 . Unfortunately, my compiler theory is no match for this paper. What does it mean |
it compiles, but i've never run it. |
Nick, If you're still interested in this, there's an expanded/clearer version of the http://citeseer.ist.psu.edu/sreedhar95incremental.html Otherwise, I might tackle this next time I need something to do. --Owen |
Step #1 complete: Owen removed idom. |
Implemented here: Jump threading switched to use it here: |
Chris, I don't think that solves all of what this bug asks for. We're still lacking a generc dominato r update function. |
As originator of the bug, I know what it was about. :) Updating domtree wasn't the point, that was seen as a way to get to SSA updates. |
Would it be worthwhile to split dominator updates into a new PR? It still seems like a useful feature. |
Why? If it existed, we still wouldn't use it in the standard optimizer (too slow). Lets wait until there is an actual reason to have it. |
…e_202502101140 merge main into amd-staging
Extended Description
Certain transformations, like tail-duplication (Bug 174) and the correlated
expression elimination pass, fundamentally need to make arbitrary changes to the
CFG AND update the SSA form of expressions. To do this, they need to update
dominators and dominator frontiers as they change the CFG.
Basically the dominator information passes need an 'addEdge/removeEdge'
interface that clients can use to incrementally update the dominator
information. There is a paper that describes how to do this:
http://citeseer.nj.nec.com/sreedhar94efficient.html
... someone should implement it.
Given this functionality, many other transformations would also be able to
incrementally update dominator information, instead of recalculating it, which
would speed up the optimizer as well.
-Chris
The text was updated successfully, but these errors were encountered: