aboutsummaryrefslogtreecommitdiff
path: root/backend/lib/Target/RISCV/RISCVTarget.cpp
diff options
context:
space:
mode:
authorRichard-Qin-X <richard.qin.001@gmail.com>2026-08-11 17:38:11 +0800
committerRichard-Qin-X <richard.qin.001@gmail.com>2026-08-11 17:38:11 +0800
commit4fe5ee649927d54d6fb74904d7b97ad0f63fd587 (patch)
tree75f85f5e6cae3a871fe42d025dca04eeb7c31cfd /backend/lib/Target/RISCV/RISCVTarget.cpp
parent6a7b083f322f4ac47e58cbf9d4d5fd4d1f6fecd0 (diff)
downloadrcc-project-4fe5ee649927d54d6fb74904d7b97ad0f63fd587.tar.gz
rcc-project-4fe5ee649927d54d6fb74904d7b97ad0f63fd587.tar.xz
[RISCV] Legalize fixed-baseline RV64 MachineIR
Diffstat (limited to 'backend/lib/Target/RISCV/RISCVTarget.cpp')
-rw-r--r--backend/lib/Target/RISCV/RISCVTarget.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/backend/lib/Target/RISCV/RISCVTarget.cpp b/backend/lib/Target/RISCV/RISCVTarget.cpp
index 8b3741a..aabce94 100644
--- a/backend/lib/Target/RISCV/RISCVTarget.cpp
+++ b/backend/lib/Target/RISCV/RISCVTarget.cpp
@@ -3,6 +3,7 @@
#include "rcc/Target/RISCV/RISCVTarget.h"
#include "rcc/CodeGen/GenericOpcodes.h"
+#include "rcc/Target/RISCV/RISCVFunctionInfo.h"
#include <array>
#include <cassert>
@@ -94,6 +95,7 @@ Expected<TargetMIRTextInfo> createMIRTextInfo() {
return std::unexpected(Registers.error());
TargetMIRTextInfoDesc Description;
appendGeneratedMIRTextInfo(Description);
+ configureFunctionInfoMIRSchema(Description);
return TargetMIRTextInfo::create(std::move(Description), *Registers);
}
@@ -114,6 +116,7 @@ Expected<TargetDescription> createTargetDescription() {
TargetMIRTextInfoDesc MIRText;
appendGeneratedMIRTextInfo(MIRText);
+ configureFunctionInfoMIRSchema(MIRText);
return TargetDescription::create(std::move(*Instructions), std::move(*Registers),
std::move(MIRText));
}
@@ -121,6 +124,7 @@ Expected<TargetDescription> createTargetDescription() {
std::shared_ptr<const RegisterMask> createCallPreservedMask() {
TargetMIRTextInfoDesc Description;
appendGeneratedMIRTextInfo(Description);
+ configureFunctionInfoMIRSchema(Description);
assert(!Description.RegisterMasks.empty());
return Description.RegisterMasks.front().Mask;
}