1//===-- RISCVCallingConv.h - RISC-V Custom CC Routines ----------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// This file defines the custom routines for the RISC-V Calling Convention.
10//
11//===----------------------------------------------------------------------===//
12
13#include "MCTargetDesc/RISCVBaseInfo.h"
14#include "llvm/CodeGen/CallingConvLower.h"
15
16namespace llvm {
17
18/// This is used for assigining arguments to locations when making calls.
19CCAssignFn CC_RISCV;
20
21/// This is used for assigning return values to locations when making calls.
22CCAssignFn RetCC_RISCV;
23
24class RISCVSubtarget;
25
26namespace RISCV {
27
28ArrayRef<MCPhysReg> getArgGPRs(const RISCVSubtarget &STI);
29ArrayRef<MCPhysReg> getArgFPRs(const RISCVSubtarget &STI);
30
31} // end namespace RISCV
32
33} // end namespace llvm
34