[clang] [CIR] Add support for ternary operator as lvalue (PR #163580)

Morris Hafner via cfe-commits cfe-commits at lists.llvm.org
Wed Oct 15 08:57:33 PDT 2025


mmha wrote:

The problem with throw exprs is that they lower to `cir.throw` + `cir.unreachable` as the terminator of a split block. `TernaryOp` on the other hand expects both branches to terminate with a `YieldOp`. Adding any instructions past `unreachable` fails verification. So I changed `FlattenCFG` to accept either `yield` or `unreachable` as a terminator. If anyone can think of a better solution let me know

https://github.com/llvm/llvm-project/pull/163580


More information about the cfe-commits mailing list