[PATCH] D154695: [Coroutines] Add an O(n) algorithm for computing the cross suspend point information.

Matthias Braun via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 31 18:09:01 PDT 2023


MatzeB added a comment.

With current trunk I see invalid IR produced every 2nd or 3rd build. With this change reverted I was able to >10 builds in a row without invalid IR. I'd like to revert this.

Unfortunately creating a reproducer is tricky given the nondeterminism so `llvm-reduce` doesn't work reliably. Would it be acceptable to revert this for the time being even without a reproducer?

I don't think I grasped the full algorithm employed here. But give this is just a standard dataflow problem we are dealing with here, this seems too complicated to me. I can't shake the feeling that the code would be simpler with just visiting every block once in RPOT to deal with those artifical inputs from the task and then keep doing the normal worklist algorithm till the fixpoint (= the code before this change).


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D154695/new/

https://reviews.llvm.org/D154695



More information about the llvm-commits mailing list