diff options
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> |
