[llvm] [CodeGen] Diagnose unsupported landingpad result types instead of asserting (PR #223205)

Akash Manna via llvm-commits llvm-commits at lists.llvm.org
Sun Sep 13 02:59:57 PDT 2026


akash-manna-sky wrote:

> This feels like it isn't correct - specifically the use of `ValueVTs.size() != 2` feels like a copy of just the assertion condition (e.g. suppressing the assertion by construction rather than correct state).
> 
> It seems like this is probably best done by examining landing pad element types, not just the count, and that should probably happen earlier

Fair point, the count check was just the assertion restated. It now checks the struct elements (pointer-or-integer exception object, integer selector) on the IR type before any value types are computed, in both SelectionDAG and GlobalISel. Added `{ float, i32 }` to the test, it did assert in `getNode` without this.


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


More information about the llvm-commits mailing list