This makes MemorySSA in LoopSink required, and removes the AST-based implementation, as well as the related support code in LICM.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
LGTM, thanks!
llvm/lib/Transforms/Scalar/LICM.cpp | ||
---|---|---|
1138 | I guess the APIs could also be updated to take MSSAUby reference, so we don't have to assert here. |
Added nits, but happy if this goes in as is too.
llvm/lib/Transforms/Scalar/LICM.cpp | ||
---|---|---|
161 | These two APIs could be made consistent to either have the Loop and BB as the first argument, or MSSA and MU. Not worth bike-shedding though.. | |
1219–1223 | The two if conditions can be && appended; I believe this was the case before I split the MSSA and AST code paths. |
llvm/lib/Transforms/Scalar/LICM.cpp | ||
---|---|---|
1138 | I landed some follow-up conversion from pointers to references in https://github.com/llvm/llvm-project/commit/c8c63625601c04786cbf0819708725b830f0dfbb. |
These two APIs could be made consistent to either have the Loop and BB as the first argument, or MSSA and MU. Not worth bike-shedding though..