Currently working on a project that involves lowering to (mostly) LLVM IR dialect MLIR to be directly injected into Mojo source code and compiling it with the Mojo compiler.
Should I be using __mlir_region (as briefly visible in stdlib/builtin/coroutine.mojo) and then using __mlir_op for the operations within it? Or is there a more appropriate way to pass through entire MLIR regions?
If that is the recommended approach, is there a way of representing basic blocks with unstructured control flow?