[llvm] [RISCV] Handle zeroinitializer of vector tuple Type (PR #113995)

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 29 17:00:54 PDT 2024


topperc wrote:

> I'm clearly missing some context here, but... why do we need anything specific here to RISCVTupleType at all? At the IR level, why is this not simply a struct? I'd have assumed we already had the lowering for a first class aggregate, what am I missing here?

It was a struct a couple months ago. Unfortunately, SelectionDAGBuilder decomposes structs into individual fields before call/return handling and before inline assembly handling. This made it very difficult to have an ABI for tuples or handle tuple operands in inline assembly.

See #97992 and #97993 and #97994 and #97995

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


More information about the llvm-commits mailing list