simon-camp wrote: I've rebased this PR one last time after the introduction of the `emitc.switch` op. I plan to merge this as soon as the CI has run. Thanks again for all the valuable feedback. https://github.com/llvm/llvm-project/pull/91475