blob: f5b7773b6f3848830a2573e2067cf2cc4281cdb5 [file]
//===-- RISCVCallingConv.h - RISC-V Custom CC Routines ----------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
//
// This file defines the custom routines for the RISC-V Calling Convention.
//
//===----------------------------------------------------------------------===//
#include "MCTargetDesc/RISCVBaseInfo.h"
#include "llvm/CodeGen/CallingConvLower.h"
namespace llvm {
/// This is used for assigining arguments to locations when making calls.
CCAssignFn CC_RISCV;
/// This is used for assigning return values to locations when making calls.
CCAssignFn RetCC_RISCV;
class RISCVSubtarget;
namespace RISCV {
ArrayRef<MCPhysReg> getArgGPRs(const RISCVSubtarget &STI);
ArrayRef<MCPhysReg> getArgFPRs(const RISCVSubtarget &STI);
ArrayRef<MCPhysReg> getArgVRs(const RISCVSubtarget &STI);
} // end namespace RISCV
} // end namespace llvm