LLVM: lib/Target/RISCV/RISCVCallingConv.h Source File

LLVM 22.0.0git
RISCVCallingConv.h
Go to the documentation of this file.
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/// RISCVCCAssignFn - This target-specific function extends the default
19/// CCValAssign with additional information used to lower RISC-V calling
20/// conventions.
21 typedef bool RISCVCCAssignFn(unsigned ValNo, MVT ValVT, MVT LocVT,
22 CCValAssign::LocInfo LocInfo,
23 ISD::ArgFlagsTy ArgFlags, CCState &State,
24 bool IsRet, Type *OrigTy);
25
26bool CC_RISCV(unsigned ValNo, MVT ValVT, MVT LocVT,
27 CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
28 CCState &State, bool IsRet, Type *OrigTy);
29
30bool CC_RISCV_FastCC(unsigned ValNo, MVT ValVT, MVT LocVT,
31 CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
32 CCState &State, bool IsRet, Type *OrigTy);
33
34bool CC_RISCV_GHC(unsigned ValNo, MVT ValVT, MVT LocVT,
35 CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
36 Type *OrigTy, CCState &State);
37
38namespace RISCV {
39
40ArrayRef<MCPhysReg> getArgGPRs(const RISCVABI::ABI ABI);
41
42} // end namespace RISCV
43
44} // end namespace llvm
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
Definition ArrayRef.h:41
CCState - This class holds information needed while lowering arguments and return values.
Machine Value Type.
The instances of the Type class are immutable: once they are created, they are never changed.
Definition Type.h:45
ArrayRef< MCPhysReg > getArgGPRs(const RISCVABI::ABI ABI)
This is an optimization pass for GlobalISel generic memory operations.
Definition AddressRanges.h:18
bool CC_RISCV_FastCC(unsigned ValNo, MVT ValVT, MVT LocVT, CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, CCState &State, bool IsRet, Type *OrigTy)
bool CC_RISCV_GHC(unsigned ValNo, MVT ValVT, MVT LocVT, CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, Type *OrigTy, CCState &State)
bool RISCVCCAssignFn(unsigned ValNo, MVT ValVT, MVT LocVT, CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, CCState &State, bool IsRet, Type *OrigTy)
RISCVCCAssignFn - This target-specific function extends the default CCValAssign with additional infor...
bool CC_RISCV(unsigned ValNo, MVT ValVT, MVT LocVT, CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, CCState &State, bool IsRet, Type *OrigTy)

Generated on for LLVM by doxygen 1.14.0

AltStyle によって変換されたページ (->オリジナル) /