diff options
| author | Richard-Qin-X <richard.qin.001@gmail.com> | 2026-08-24 16:37:25 +0800 |
|---|---|---|
| committer | Richard-Qin-X <richard.qin.001@gmail.com> | 2026-08-24 16:37:25 +0800 |
| commit | 540c73a2f450af3d0aec6e039fab054471efdbb1 (patch) | |
| tree | 9b260322eaeeac8b8741a30a273f7d407b683e5e /backend/lib/Target/RISCV/RISCVPipeline.cpp | |
| parent | 936ac5647f82def050e6654d44d24a88906f4d7a (diff) | |
| download | rcc-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.cpp | 4 |
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> |
