[PATCH] D80358: [MLIR][InProgress] Add RegionKindInterface

River Riddle via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 16 19:42:43 PDT 2020


rriddle marked an inline comment as done.
rriddle added inline comments.


================
Comment at: mlir/docs/LangRef.md:546
+control to other basic blocks is determined by the specific dialect
+operations involved.
+
----------------
stephenneuendorffer wrote:
> rriddle wrote:
> > mehdi_amini wrote:
> > > stephenneuendorffer wrote:
> > > > mehdi_amini wrote:
> > > > > This is missing the "reachability" aspect: the entry block is only for entry, and any other block is only reachable if it is in the successor list of another operation in the region.
> > > > Hmm... So terminators are required to pass control flow to their successors?  A terminator without successors is not allowed to pass control flow to an arbitrary block in the same region?
> > > That's how we decide "unreachable blocks" today
> > Correct. There is no modeling ATM for indirect branches where you have no idea what the potential destination could be.
> I was also thinking about something co-routine like where Blocks could yield to another block chosen by the containing operation.
You could also implement coroutines with an explicit switch in the entry block that contains each of the potential resume points.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D80358





More information about the llvm-commits mailing list