[RISCV] Handle "o" inline asm memory constraint
authorwangpc <pc.wang@linux.alibaba.com>
Tue, 6 Jun 2023 09:49:58 +0000 (17:49 +0800)
committerwangpc <pc.wang@linux.alibaba.com>
Tue, 6 Jun 2023 09:50:40 +0000 (17:50 +0800)
commit26e41a80d07c475fec75e7d58b6408b92161b93a
tree501f10f9f177a1044339eb571a3bda98da22fbb0
parent8f781b96e201408d1fb7b49367876a54682594ed
[RISCV] Handle "o" inline asm memory constraint

This is the same as D100412.

We just found the same crash when we tried to compile some packages
like mariadb, php, etc.

For constraint "o", it means "A memory operand is allowed, but
only if the address is offsettable". So I think it can be handled
just like constraint "m" for RISCV target.

And we print verbose information when unsupported constraints occur.

Reviewed By: asb

Differential Revision: https://reviews.llvm.org/D151979
llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
llvm/test/CodeGen/RISCV/inline-asm.ll