aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorSudharsan Veeravalli <quic_svs@quicinc.com>2025-07-15 04:52:51 +0530
committerGitHub <noreply@github.com>2025-07-15 04:52:51 +0530
commit085e8f1e520b91f5ed40e5b09f458bb2c4d7c0e0 (patch)
treec5b79ed751bd966ee4901eef71df6da7fa741268 /clang/lib/Frontend/CompilerInvocation.cpp
parentad9a9537e6222853da3966abd978548f0b62eab8 (diff)
downloadllvm-085e8f1e520b91f5ed40e5b09f458bb2c4d7c0e0.zip
llvm-085e8f1e520b91f5ed40e5b09f458bb2c4d7c0e0.tar.gz
llvm-085e8f1e520b91f5ed40e5b09f458bb2c4d7c0e0.tar.bz2
[RISCV] Relax destination instruction dag operand matching in CompresInstEmitter (#148660)
We have some 48-bit instructions in the `Xqci` spec that currently cannot be compressed to their 32-bit variants due to the constraint in `CompressInstEmitter` on destination instruction operands not being allowed to mismatch with the DAG operands. For eg. the` QC_E_ADDI` instruction can be compressed to the `ADDI` instruction when the immediate is signed-12 bit but this is currently not possible since the `QC_E_ADDI` instruction has `GPRNoX0` register operands while the `ADDI` instruction has `GPR` register operands leading to an operand type validation error. I think we can remove the check that only source instruction operands can mismatch with the corresponding DAG operands and rely on the fact that we check if the DAG register operand type is a subclass of the instruction register operand type.
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions