aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
diff options
context:
space:
mode:
authorWANG Xuerui <git@xen0n.name>2023-06-21 16:04:57 +0800
committerWeining Lu <luweining@loongson.cn>2023-06-21 16:41:10 +0800
commit00786d3a5f229b11a41dcbc4c6081edeaa7ee5b7 (patch)
tree5b65776be90a1791ae5a218563b6ed5b86216883 /llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
parentadbb5ebf08ce738ba2c144fbf1c7ab8781e3fb96 (diff)
downloadllvm-00786d3a5f229b11a41dcbc4c6081edeaa7ee5b7.zip
llvm-00786d3a5f229b11a41dcbc4c6081edeaa7ee5b7.tar.gz
llvm-00786d3a5f229b11a41dcbc4c6081edeaa7ee5b7.tar.bz2
[LoongArch] Support CodeModel::Large codegen
This is intended to behave like GCC's `-mcmodel=extreme`. Technically the true GCC equivalent would be `-mcmodel=large` which is not yet implemented there, and we probably do not want to take the "Large" name until things settle in GCC side, but: * LLVM does not have a `CodeModel::Extreme`, and it seems too early to have such a variant added just for enabling LoongArch; and * `CodeModel::Small` is already being used for GCC `-mcmodel=normal` which is already a case of divergent naming. Regarding the codegen, loads/stores immediately after a PC-relative large address load (that ends with something like `add.d $addr, $addr, $tmp`) should get merged with the addition into corresponding `ldx/stx` ops, but is currently not done. This is because pseudo-instructions are expanded after instruction selection, and is best fixed with a separate change. Reviewed By: SixWeining Differential Revision: https://reviews.llvm.org/D150522
Diffstat (limited to 'llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp')
0 files changed, 0 insertions, 0 deletions