aboutsummaryrefslogtreecommitdiff
path: root/backend/lib/Target/RISCV/RISCVPipeline.cpp
diff options
context:
space:
mode:
authorRichard-Qin-X <richard.qin.001@gmail.com>2026-08-24 16:37:25 +0800
committerRichard-Qin-X <richard.qin.001@gmail.com>2026-08-24 16:37:25 +0800
commit540c73a2f450af3d0aec6e039fab054471efdbb1 (patch)
tree9b260322eaeeac8b8741a30a273f7d407b683e5e /backend/lib/Target/RISCV/RISCVPipeline.cpp
parent936ac5647f82def050e6654d44d24a88906f4d7a (diff)
downloadrcc-project-540c73a2f450af3d0aec6e039fab054471efdbb1.tar.gz
rcc-project-540c73a2f450af3d0aec6e039fab054471efdbb1.tar.xz
[RISCV] Match LLVM frame lowering semantics
Diffstat (limited to 'backend/lib/Target/RISCV/RISCVPipeline.cpp')
-rw-r--r--backend/lib/Target/RISCV/RISCVPipeline.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/backend/lib/Target/RISCV/RISCVPipeline.cpp b/backend/lib/Target/RISCV/RISCVPipeline.cpp
index 2af1d43..cfa09d0 100644
--- a/backend/lib/Target/RISCV/RISCVPipeline.cpp
+++ b/backend/lib/Target/RISCV/RISCVPipeline.cpp
@@ -29,7 +29,9 @@ namespace rcc::riscv {
namespace {
[[nodiscard]] LibcallLoweringInfo libcallLoweringInfo(const RISCVSubtarget &Subtarget) {
- return {Subtarget.getCallLowering(), callingConventionID(CallingConvention::LP64)};
+ const CallingConvention Convention =
+ Subtarget.targetABI() == RISCVABI::LP64D ? CallingConvention::LP64D : CallingConvention::LP64;
+ return {Subtarget.getCallLowering(), callingConventionID(Convention)};
}
template <typename PassT, typename... ArgumentT>