Iterate over the basic blocks in a function using a dominator tree instead of the function iterator.
This will be helpful when adding support for multiple blocks.
Differential D79298
[NFC] Traverse function using dominator tree. zoecarver on May 2 2020, 4:22 PM. Authored by
Details
Iterate over the basic blocks in a function using a dominator tree instead of the function iterator. This will be helpful when adding support for multiple blocks.
Diff Detail
Unit Tests Event TimelineComment Actions I'm not really sure as to the future of this DSE given the work on Mem-SSA-driven DSE. Comment Actions @lebedev.ri you're right. I just took a look at the MSSA DSE and it looks much more powerful. I'll contribute changes to that in the future (looks like there's a lot of working being done already). Comment Actions As @lebedev.ri pointed out, there's an effort to provide cross-basicblock DSE using MemorySSA. I've create an umbrella bug to track the effort: https://bugs.llvm.org/show_bug.cgi?id=45792. There are a few patches pending adding functionality, but there is at least one more feature missing (without any patches yet) to reach parity with legacy DSE: https://bugs.llvm.org/show_bug.cgi?id=45795. Please feel free to reach out if you are interested in helping out! Comment Actions @fhahn thanks for the links. Yes, I'm happy to help out. I can get started on the noop store bug this week. I'll post a comment over there (in that bug). |