aboutsummaryrefslogtreecommitdiff
path: root/backend/lib/Target/RISCV/RISCVCodeGen.cpp
diff options
context:
space:
mode:
authorRichard-Qin-X <richard.qin.001@gmail.com>2026-08-12 02:23:11 +0800
committerRichard-Qin-X <richard.qin.001@gmail.com>2026-08-12 02:23:11 +0800
commit33c887caf02b28fd45cf7cf966537e123081ff53 (patch)
tree3ec2a7942b9c63a035ffc06031d18706a9ec7d71 /backend/lib/Target/RISCV/RISCVCodeGen.cpp
parent16b269164d072f3c0be713decc977c5c5f44f5e8 (diff)
downloadrcc-project-33c887caf02b28fd45cf7cf966537e123081ff53.tar.gz
rcc-project-33c887caf02b28fd45cf7cf966537e123081ff53.tar.xz
[RISCV] Legalize G_FRAME_INDEX for p0
Diffstat (limited to 'backend/lib/Target/RISCV/RISCVCodeGen.cpp')
-rw-r--r--backend/lib/Target/RISCV/RISCVCodeGen.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/backend/lib/Target/RISCV/RISCVCodeGen.cpp b/backend/lib/Target/RISCV/RISCVCodeGen.cpp
index f9bd8a5..2dd5ee4 100644
--- a/backend/lib/Target/RISCV/RISCVCodeGen.cpp
+++ b/backend/lib/Target/RISCV/RISCVCodeGen.cpp
@@ -3273,6 +3273,10 @@ public:
case GenericOpcode::G_VAARG:
return vaargPlan(Instruction, Function) ? LegalizationAction::Custom
: LegalizationAction::Unsupported;
+ case GenericOpcode::G_FRAME_INDEX:
+ return Type && Type->isPointer() && Type->addressSpace() == 0 && Type->scalarBitWidth() == 64
+ ? LegalizationAction::Legal
+ : LegalizationAction::Unsupported;
case GenericOpcode::G_BR:
return LegalizationAction::Legal;
case GenericOpcode::G_BRCOND: {