[LoongArch] Implement COPY instruction between CFRs (#69300)
authorwanglei <wanglei@loongson.cn>
Thu, 19 Oct 2023 01:20:27 +0000 (09:20 +0800)
committerTobias Hieta <tobias@hieta.se>
Fri, 27 Oct 2023 12:48:09 +0000 (14:48 +0200)
commit4b7f4152a8d166166c6756f933d7dcaa82c0e55e
tree3ea32ce0492dd237c5d22fb37c8c7953883819fd
parentfb62a201a199663dcaf6511bd7a453ff669438e4
[LoongArch] Implement COPY instruction between CFRs (#69300)

With this patch, all CFRs can be used for register allocation.

(cherry picked from commit 271087e3a0875672b26c185a28b3552d5600d2fb)
12 files changed:
llvm/lib/Target/LoongArch/LoongArch.h
llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
llvm/lib/Target/LoongArch/LoongArchFloat32InstrInfo.td
llvm/lib/Target/LoongArch/LoongArchFloatInstrFormats.td
llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
llvm/lib/Target/LoongArch/LoongArchRegisterInfo.cpp
llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
llvm/test/CodeGen/LoongArch/O0-pipeline.ll
llvm/test/CodeGen/LoongArch/cfr-copy.mir [new file with mode: 0644]
llvm/test/CodeGen/LoongArch/cfr-pseudo-copy.mir [new file with mode: 0644]
llvm/test/CodeGen/LoongArch/inline-asm-clobbers-fcc.mir
llvm/test/CodeGen/LoongArch/opt-pipeline.ll