[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:11:55 PDT 2023


MatzeB added inline comments.


================
Comment at: llvm/lib/Transforms/Coroutines/CoroFrame.cpp:239-244
       if (all_of(predecessors(B), [this](BasicBlock *BB) {
             return !Block[Mapping.blockToIndex(BB)].Changed;
           })) {
         B.Changed = false;
         continue;
       }
----------------
Oh guess `B.Changed` is read here. But how does this work? Isn't `Changed` always `false` after the `Initialize == true` round? Wouldn't we just skip processing any block in the 2nd round then because of this?


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