feat(dataflow): sparse conditional constant propagation analysis (sccp) - #456
feat(dataflow): sparse conditional constant propagation analysis (sccp)#456axelcool1234 wants to merge 4 commits into
Conversation
af2679c to
a38547b
Compare
3273e24 to
81e9036
Compare
fae78c9 to
85e0bbb
Compare
2a55b12 to
1c90b24
Compare
The following is a dataflow analysis framework based off the C++ MLIR implementation. An analysis I've implemented on top of the framework is SCCP: opencompl#456
164ef6f to
7153e4f
Compare
9008b8f to
769c027
Compare
|
@axelcool1234, this seems outdated. I close this for now. @axelcool1234, please reopen if you still plan to move for forward. |
This is what all of my PRs in the dataflow analysis builds up to. I've been keeping it up to date as my PRs this is stacked on are changed and merged. I don't know if I have the permissions to reopen it as a draft |
|
What I need to do is figure out how to use GitHub's new stacked PR feature so this is apparent |
|
I apologize for how long this has taken. I've just been busy with my internship and all. I'll be ramping up my involvement come next week when I finish my time at AMD. @tobiasgrosser |
|
Sorry, then I was too eager. |
No it's okay this has been open for a whopping 3 months so I get it. SCCP required the dataflow analysis framework, an interface for abstract domains, dead code analysis, constant propagation analysis, and a sparse forward analysis API in order to work. I have most of these things merged into VeIR now. Just the sparse forward analysis API and constant propagation analysis is left :) |
|
@axelcool1234 all good but yes-- please mark things as drafts unless they're actually in a state where others should be looking at them |
It was a draft |
|
What I'm currently working on or will work on which leads to this PR opening:
Once these two are resolved, and assuming nothing comes up, the sparse forward dataflow analysis API can be merged. And once that merges that opens up constant propagation to be looked over. It needs to be rewritten now that there's a constant folder. Once constant propagation is properly rewritten and merged, this PR is ready to open, which basically makes some tweaks to dead code analysis to use constant propagation if it's - enabled. When dead code uses constant propagation if enabled, and vice versa, we have SCCP! |
This implements SCCP analysis on top of the dataflow framework: #264
WIP: Creating a transformation using this analysis. Should be simple to do.