|
LLVM 24.0.0git
|
#include "llvm/CodeGen/TargetCallingConv.h"
Public Types | |
| enum | Flags : uint32_t { NoFlags = 0 , ZExt = 1U << 0 , SExt = 1U << 1 , NoExt = 1U << 2 , InReg = 1U << 3 , SRet = 1U << 4 , ByVal = 1U << 5 , ByRef = 1U << 6 , Nest = 1U << 7 , Returned = 1U << 8 , Split = 1U << 9 , InAlloca = 1U << 10 , Preallocated = 1U << 11 , SplitEnd = 1U << 12 , SwiftSelf = 1U << 13 , SwiftAsync = 1U << 14 , SwiftError = 1U << 15 , CFGuardTarget = 1U << 16 , Hva = 1U << 17 , HvaStart = 1U << 18 , SecArgPass = 1U << 19 , InConsecutiveRegsLast = 1U << 20 , InConsecutiveRegs = 1U << 21 , CopyElisionCandidate = 1U << 22 , Pointer = 1U << 23 , VarArg = 1U << 24 } |
| Flag bits describing an argument. More... | |
Definition at line 28 of file TargetCallingConv.h.
Flag bits describing an argument.
| Enumerator | |
|---|---|
| NoFlags | |
| ZExt | Zero extended. |
| SExt | Sign extended. |
| NoExt | No extension. |
| InReg | Passed in register. |
| SRet | Hidden struct-ret ptr. |
| ByVal | Struct passed by value. |
| ByRef | Passed in memory. |
| Nest | Nested fn static chain. |
| Returned | Always returned. |
| Split | |
| InAlloca | Passed with inalloca. |
| Preallocated | ByVal without the copy. |
| SplitEnd | Last part of a split. |
| SwiftSelf | Swift self parameter. |
| SwiftAsync | Swift async context parameter. |
| SwiftError | Swift error parameter. |
| CFGuardTarget | Control Flow Guard target. |
| Hva | HVA field. |
| HvaStart | HVA structure start. |
| SecArgPass | Second argument. |
| InConsecutiveRegsLast | |
| InConsecutiveRegs | |
| CopyElisionCandidate | Argument copy elision candidate. |
| Pointer | |
| VarArg | Whether this is part of a variable argument list (non-fixed). |
Definition at line 31 of file TargetCallingConv.h.
|
inline |
Definition at line 79 of file TargetCallingConv.h.
|
inline |
Definition at line 203 of file TargetCallingConv.h.
|
inline |
Definition at line 194 of file TargetCallingConv.h.
References assert(), isByRef(), and isByVal().
Referenced by CC_AIX(), CC_Xtensa_Custom(), and llvm::CCState::HandleByVal().
|
inline |
Return the argument's boolean flags.
Definition at line 84 of file TargetCallingConv.h.
|
inline |
Definition at line 178 of file TargetCallingConv.h.
References A(), assert(), llvm::decodeMaybeAlign(), and isByVal().
Referenced by CC_AIX(), CC_Xtensa_Custom(), and llvm::CCState::HandleByVal().
|
inline |
Definition at line 169 of file TargetCallingConv.h.
References llvm::decodeMaybeAlign(), and llvm::MaybeAlign::valueOrOne().
Referenced by CC_AArch64_Custom_Block(), CC_ARM_AAPCS_Custom_Aggregate(), llvm::SITargetLowering::LowerFormalArguments(), and setMemAlign().
|
inline |
Definition at line 185 of file TargetCallingConv.h.
References llvm::decodeMaybeAlign(), and llvm::MaybeAlign::valueOrOne().
Referenced by CC_ARM_AAPCS_Custom_Aggregate(), CC_LoongArch(), CC_LoongArchAssign2GRLen(), CC_MipsO32(), CC_RISCV_Impl(), CC_RISCVAssign2XLen(), CC_Xtensa_Custom(), and setOrigAlign().
|
inline |
Definition at line 212 of file TargetCallingConv.h.
Referenced by llvm::SITargetLowering::LowerFormalArguments().
|
inline |
Definition at line 104 of file TargetCallingConv.h.
References ByRef.
Referenced by getByRefSize(), getByValSize(), llvm::SITargetLowering::LowerFormalArguments(), setByRefSize(), and setByValSize().
|
inline |
Definition at line 101 of file TargetCallingConv.h.
References ByVal.
Referenced by AnalyzeArguments(), CC_AIX(), CC_MipsO32(), CC_Xtensa_Custom(), getByRefSize(), getByValSize(), getNonZeroByValAlign(), llvm::SITargetLowering::LowerFormalArguments(), setByRefSize(), and setByValSize().
|
inline |
Definition at line 122 of file TargetCallingConv.h.
References CFGuardTarget.
|
inline |
Definition at line 158 of file TargetCallingConv.h.
References CopyElisionCandidate.
|
inline |
Definition at line 125 of file TargetCallingConv.h.
References Hva.
Referenced by CC_X86_32_VectorCall(), and CC_X86_64_VectorCall().
|
inline |
Definition at line 128 of file TargetCallingConv.h.
References HvaStart.
Referenced by CC_X86_64_VectorCall().
|
inline |
Definition at line 107 of file TargetCallingConv.h.
References InAlloca.
|
inline |
Definition at line 140 of file TargetCallingConv.h.
References InConsecutiveRegs.
|
inline |
Definition at line 145 of file TargetCallingConv.h.
References InConsecutiveRegsLast.
Referenced by CC_AArch64_Custom_Block(), CC_AArch64_Custom_Stack_Block(), CC_ARM_AAPCS_Custom_Aggregate(), CC_X86_32_I128_FP128(), and CC_X86_64_I128().
|
inline |
Definition at line 95 of file TargetCallingConv.h.
References InReg.
Referenced by CC_MipsO32(), llvm::SITargetLowering::LowerFormalArguments(), and processPSInputArgs().
|
inline |
Definition at line 134 of file TargetCallingConv.h.
References Nest.
Referenced by CC_AIX(), CC_RISCV_GHC(), and CC_RISCV_Impl().
|
inline |
Definition at line 92 of file TargetCallingConv.h.
References NoExt.
|
inline |
Definition at line 163 of file TargetCallingConv.h.
References Pointer.
|
inline |
Definition at line 110 of file TargetCallingConv.h.
References Preallocated.
|
inline |
Definition at line 137 of file TargetCallingConv.h.
References Returned.
|
inline |
Definition at line 131 of file TargetCallingConv.h.
References SecArgPass.
Referenced by CC_X86_32_VectorCall(), and CC_X86_64_VectorCall().
|
inline |
Definition at line 89 of file TargetCallingConv.h.
References SExt.
Referenced by AnalyzeArguments(), CC_AIX(), CC_Lanai32_VarArg(), CC_MipsO32(), CC_Xtensa_Custom(), and handleCMSEValue().
|
inline |
Definition at line 152 of file TargetCallingConv.h.
References Split.
Referenced by Analyze_CC_Sparc64_Full(), CC_LoongArch(), CC_MipsO32(), CC_RISCV_Impl(), llvm::CC_SystemZ_I128Indirect(), CC_X86_32_MCUInReg(), and processPSInputArgs().
|
inline |
Definition at line 155 of file TargetCallingConv.h.
References SplitEnd.
Referenced by CC_LoongArch(), CC_RISCV_Impl(), llvm::CC_SystemZ_I128Indirect(), CC_X86_32_MCUInReg(), and processPSInputArgs().
|
inline |
Definition at line 98 of file TargetCallingConv.h.
References SRet.
Referenced by CC_Sparc_Assign_SRet(), and llvm::SITargetLowering::LowerFormalArguments().
|
inline |
Definition at line 116 of file TargetCallingConv.h.
References SwiftAsync.
|
inline |
Definition at line 119 of file TargetCallingConv.h.
References SwiftError.
|
inline |
Definition at line 113 of file TargetCallingConv.h.
References SwiftSelf.
|
inline |
Definition at line 166 of file TargetCallingConv.h.
References VarArg.
Referenced by analyzeCallOperands(), CC_AIX(), CC_Lanai32_VarArg(), CC_LoongArch(), and CC_RISCV_Impl().
|
inline |
Definition at line 86 of file TargetCallingConv.h.
References ZExt.
Referenced by AnalyzeArguments(), CC_Lanai32_VarArg(), CC_MipsO32(), and CC_Xtensa_Custom().
|
inline |
Definition at line 105 of file TargetCallingConv.h.
References ByRef.
|
inline |
Definition at line 207 of file TargetCallingConv.h.
|
inline |
Definition at line 102 of file TargetCallingConv.h.
References ByVal.
|
inline |
Definition at line 198 of file TargetCallingConv.h.
|
inline |
Definition at line 123 of file TargetCallingConv.h.
References CFGuardTarget.
|
inline |
Definition at line 161 of file TargetCallingConv.h.
References CopyElisionCandidate.
|
inline |
Definition at line 126 of file TargetCallingConv.h.
References Hva.
|
inline |
Definition at line 129 of file TargetCallingConv.h.
References HvaStart.
|
inline |
Definition at line 108 of file TargetCallingConv.h.
References InAlloca.
|
inline |
Definition at line 141 of file TargetCallingConv.h.
References InConsecutiveRegs.
Referenced by finishStackBlock().
|
inline |
Definition at line 148 of file TargetCallingConv.h.
References InConsecutiveRegsLast.
Referenced by finishStackBlock().
|
inline |
Definition at line 96 of file TargetCallingConv.h.
References InReg.
Referenced by CC_X86_32_VectorCall(), llvm::CCState::getRemainingRegParmsForType(), and llvm::TargetLowering::LowerCallTo().
|
inline |
Definition at line 173 of file TargetCallingConv.h.
References A(), assert(), llvm::encode(), and getNonZeroMemAlign().
|
inline |
Definition at line 135 of file TargetCallingConv.h.
References Nest.
|
inline |
Definition at line 93 of file TargetCallingConv.h.
References NoExt.
|
inline |
Definition at line 189 of file TargetCallingConv.h.
References A(), assert(), llvm::encode(), and getNonZeroOrigAlign().
Referenced by llvm::TargetLowering::LowerCallTo().
|
inline |
Definition at line 164 of file TargetCallingConv.h.
References Pointer.
Referenced by llvm::TargetLowering::LowerCallTo().
|
inline |
Definition at line 213 of file TargetCallingConv.h.
Referenced by llvm::TargetLowering::LowerCallTo().
|
inline |
Definition at line 111 of file TargetCallingConv.h.
References Preallocated.
|
inline |
Definition at line 138 of file TargetCallingConv.h.
References Returned.
|
inline |
Definition at line 132 of file TargetCallingConv.h.
References SecArgPass.
|
inline |
Definition at line 90 of file TargetCallingConv.h.
References SExt.
Referenced by llvm::TargetLowering::LowerCallTo(), and llvm::FastISel::lowerCallTo().
|
inline |
Definition at line 153 of file TargetCallingConv.h.
References Split.
Referenced by llvm::TargetLowering::LowerCallTo().
|
inline |
Definition at line 156 of file TargetCallingConv.h.
References SplitEnd.
Referenced by llvm::TargetLowering::LowerCallTo().
|
inline |
Definition at line 99 of file TargetCallingConv.h.
References SRet.
|
inline |
Definition at line 117 of file TargetCallingConv.h.
References SwiftAsync.
|
inline |
Definition at line 120 of file TargetCallingConv.h.
References SwiftError.
Referenced by llvm::TargetLowering::LowerCallTo().
|
inline |
Definition at line 114 of file TargetCallingConv.h.
References SwiftSelf.
|
inline |
Definition at line 167 of file TargetCallingConv.h.
References VarArg.
|
inline |
Definition at line 87 of file TargetCallingConv.h.
References ZExt.
Referenced by llvm::TargetLowering::LowerCallTo(), and llvm::FastISel::lowerCallTo().