[PATCH] D156850: [NFC][Coroutines] Use a reverse post-order to guide the computation about cross suspend infomation to reach a fixed point faster.
Matthias Braun via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 2 14:05:39 PDT 2023
MatzeB added inline comments.
================
Comment at: llvm/lib/Transforms/Coroutines/CoroFrame.cpp:227-228
-template <bool Initialize> bool SuspendCrossingInfo::computeBlockData() {
- const size_t N = Mapping.size();
+template <bool Initialize, class BBRangeTy>
+bool SuspendCrossingInfo::computeBlockData(const BBRangeTy &BBRange) {
bool Changed = false;
----------------
Just put `ReversePostOrderTraversal<Function *>&` here. Adding a template parameter that only ever gets the same type just adds needless complexity.
================
Comment at: llvm/lib/Transforms/Coroutines/CoroFrame.cpp:283-284
if constexpr (!Initialize) {
B.Changed = (B.Kills != SavedKills) || (B.Consumes != SavedConsumes);
Changed |= B.Changed;
}
----------------
Do we actually need `B.Changed`? Seems to me we only write and immediately read form it here, so a local variable would do instead?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D156850/new/
https://reviews.llvm.org/D156850
More information about the llvm-commits
mailing list