diff options
author | Sam Elliott <quic_aelliott@quicinc.com> | 2024-11-14 12:31:31 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-14 12:31:31 +0000 |
commit | 862f42eedf21cc28f4bc692ab846c87b28b5960b (patch) | |
tree | c0fad0c267bbe72012c4930b0fb8932e8e1a506a /llvm/lib/CodeGen/MachineSink.cpp | |
parent | 8fde648aad1affa4e8680a9fd14a0816d73e5774 (diff) | |
download | llvm-862f42eedf21cc28f4bc692ab846c87b28b5960b.zip llvm-862f42eedf21cc28f4bc692ab846c87b28b5960b.tar.gz llvm-862f42eedf21cc28f4bc692ab846c87b28b5960b.tar.bz2 |
[TargetLowering] Use Correct VT for Multi-out Asm (#116024)
This was overlooked in 7d940432c46be83b8fcb5dbefee439585fa820cd - when
inline assembly has multiple outputs, they are returned as members of a
struct, and the `getAsmOperandType` needs to be called for each member
of struct. The difference between this and the single-output case is
that in the latter, there isn't a struct wrapping the outputs.
I noticed this when trying to use the same mechanism in the RISC-V
backend.
Committing two tests:
- One that shows a crash before this change, which is fixed by this
change.
- One (commented out) that shows a different crash with tied
inputs/outputs. This is commented as it is not fixed by this change and
needs more work in target-independent inline asm handling code.
Diffstat (limited to 'llvm/lib/CodeGen/MachineSink.cpp')
0 files changed, 0 insertions, 0 deletions