LLVM
17.0.0git
|
This structure contains all information that is necessary for lowering calls. More...
#include "llvm/CodeGen/TargetLowering.h"
Public Attributes | |
SDValue | Chain |
Type * | RetTy = nullptr |
bool | RetSExt: 1 |
bool | RetZExt: 1 |
bool | IsVarArg: 1 |
bool | IsInReg: 1 |
bool | DoesNotReturn: 1 |
bool | IsReturnValueUsed: 1 |
bool | IsConvergent: 1 |
bool | IsPatchPoint: 1 |
bool | IsPreallocated: 1 |
bool | NoMerge: 1 |
bool | IsTailCall = false |
bool | IsPostTypeLegalization = false |
unsigned | NumFixedArgs = -1 |
CallingConv::ID | CallConv = CallingConv::C |
SDValue | Callee |
ArgListTy | Args |
SelectionDAG & | DAG |
SDLoc | DL |
const CallBase * | CB = nullptr |
SmallVector< ISD::OutputArg, 32 > | Outs |
SmallVector< SDValue, 32 > | OutVals |
SmallVector< ISD::InputArg, 32 > | Ins |
SmallVector< SDValue, 4 > | InVals |
const ConstantInt * | CFIType = nullptr |
This structure contains all information that is necessary for lowering calls.
It is passed to TLI::LowerCallTo when the SelectionDAG builder needs to lower a call, and targets will see this struct in their LowerCall implementation.
Definition at line 4170 of file TargetLowering.h.
|
inline |
Definition at line 4204 of file TargetLowering.h.
|
inline |
Definition at line 4330 of file TargetLowering.h.
References Args.
Referenced by llvm::NVPTXTargetLowering::LowerCall(), and llvm::SparcTargetLowering::LowerCall_32().
|
inline |
Definition at line 4234 of file TargetLowering.h.
References Args, CallConv, Callee, CC, move, NumFixedArgs, and RetTy.
Referenced by llvm::SparcTargetLowering::LowerF128Compare().
|
inline |
Definition at line 4244 of file TargetLowering.h.
References Args, CallConv, Callee, CB, DoesNotReturn, llvm::FunctionType::getNumParams(), IsInReg, IsReturnValueUsed, llvm::FunctionType::isVarArg(), IsVarArg, move, NoMerge, NumFixedArgs, RetSExt, RetTy, and RetZExt.
|
inline |
Definition at line 4325 of file TargetLowering.h.
References CFIType.
|
inline |
Definition at line 4215 of file TargetLowering.h.
References Chain.
Referenced by llvm::SelectionDAG::getMemset(), llvm::SparcTargetLowering::LowerF128Compare(), and llvm::SelectionDAGBuilder::lowerInvokable().
|
inline |
Definition at line 4295 of file TargetLowering.h.
References IsConvergent.
|
inline |
Definition at line 4210 of file TargetLowering.h.
References DL.
Referenced by llvm::SelectionDAG::getMemset(), and llvm::SparcTargetLowering::LowerF128Compare().
|
inline |
Definition at line 4290 of file TargetLowering.h.
References IsReturnValueUsed.
|
inline |
Definition at line 4270 of file TargetLowering.h.
References IsInReg.
|
inline |
Definition at line 4310 of file TargetLowering.h.
References IsPatchPoint.
|
inline |
Definition at line 4320 of file TargetLowering.h.
References IsPostTypeLegalization.
|
inline |
Definition at line 4315 of file TargetLowering.h.
References IsPreallocated.
|
inline |
Definition at line 4221 of file TargetLowering.h.
References Args, CallConv, Callee, CC, DAG, llvm::SelectionDAG::getMachineFunction(), llvm::SelectionDAG::getTargetLoweringInfo(), llvm::TargetLoweringBase::markLibCallAttributes(), move, NumFixedArgs, and RetTy.
|
inline |
Definition at line 4275 of file TargetLowering.h.
References DoesNotReturn.
|
inline |
Definition at line 4300 of file TargetLowering.h.
References RetSExt.
|
inline |
Definition at line 4285 of file TargetLowering.h.
References IsTailCall.
|
inline |
Definition at line 4280 of file TargetLowering.h.
References IsVarArg.
|
inline |
Definition at line 4305 of file TargetLowering.h.
References RetZExt.
ArgListTy llvm::TargetLowering::CallLoweringInfo::Args |
Definition at line 4194 of file TargetLowering.h.
Referenced by analyzeCallOperands(), getArgs(), llvm::NVPTXTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), setCallee(), and setLibCallee().
CallingConv::ID llvm::TargetLowering::CallLoweringInfo::CallConv = CallingConv::C |
Definition at line 4192 of file TargetLowering.h.
Referenced by analyzeCallOperands(), llvm::MipsTargetLowering::getOpndList(), llvm::VETargetLowering::LowerCall(), llvm::LoongArchTargetLowering::LowerCall(), llvm::HexagonTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::TargetLowering::LowerCallTo(), setCallee(), and setLibCallee().
SDValue llvm::TargetLowering::CallLoweringInfo::Callee |
Definition at line 4193 of file TargetLowering.h.
Referenced by llvm::MipsTargetLowering::getOpndList(), llvm::VETargetLowering::LowerCall(), llvm::LoongArchTargetLowering::LowerCall(), llvm::HexagonTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::AMDGPUTargetLowering::lowerUnhandledCall(), setCallee(), and setLibCallee().
Definition at line 4197 of file TargetLowering.h.
Referenced by llvm::VETargetLowering::LowerCall(), llvm::LoongArchTargetLowering::LowerCall(), llvm::HexagonTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::SelectionDAGBuilder::lowerInvokable(), llvm::SITargetLowering::passSpecialInputs(), and setCallee().
const ConstantInt* llvm::TargetLowering::CallLoweringInfo::CFIType = nullptr |
Definition at line 4202 of file TargetLowering.h.
Referenced by setCFIType().
SDValue llvm::TargetLowering::CallLoweringInfo::Chain |
Definition at line 4171 of file TargetLowering.h.
Referenced by llvm::VETargetLowering::LowerCall(), llvm::LoongArchTargetLowering::LowerCall(), llvm::HexagonTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), and setChain().
SelectionDAG& llvm::TargetLowering::CallLoweringInfo::DAG |
Definition at line 4195 of file TargetLowering.h.
Referenced by analyzeCallOperands(), llvm::MipsTargetLowering::getOpndList(), llvm::VETargetLowering::LowerCall(), llvm::LoongArchTargetLowering::LowerCall(), llvm::HexagonTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::TargetLowering::LowerCallTo(), llvm::AMDGPUTargetLowering::lowerUnhandledCall(), llvm::SITargetLowering::passSpecialInputs(), and setLibCallee().
SDLoc llvm::TargetLowering::CallLoweringInfo::DL |
Definition at line 4196 of file TargetLowering.h.
Referenced by llvm::MipsTargetLowering::getOpndList(), llvm::VETargetLowering::LowerCall(), llvm::LoongArchTargetLowering::LowerCall(), llvm::HexagonTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::AMDGPUTargetLowering::lowerUnhandledCall(), llvm::SITargetLowering::passSpecialInputs(), and setDebugLoc().
bool llvm::TargetLowering::CallLoweringInfo::DoesNotReturn |
Definition at line 4177 of file TargetLowering.h.
Referenced by llvm::HexagonTargetLowering::LowerCall(), setCallee(), and setNoReturn().
SmallVector<ISD::InputArg, 32> llvm::TargetLowering::CallLoweringInfo::Ins |
Definition at line 4200 of file TargetLowering.h.
Referenced by llvm::VETargetLowering::LowerCall(), llvm::LoongArchTargetLowering::LowerCall(), llvm::HexagonTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::TargetLowering::LowerCallTo(), and llvm::AMDGPUTargetLowering::lowerUnhandledCall().
SmallVector<SDValue, 4> llvm::TargetLowering::CallLoweringInfo::InVals |
Definition at line 4201 of file TargetLowering.h.
bool llvm::TargetLowering::CallLoweringInfo::IsConvergent |
Definition at line 4179 of file TargetLowering.h.
Referenced by llvm::NVPTXTargetLowering::LowerCall(), and setConvergent().
bool llvm::TargetLowering::CallLoweringInfo::IsInReg |
Definition at line 4176 of file TargetLowering.h.
Referenced by getReturnAttrs(), setCallee(), and setInRegister().
bool llvm::TargetLowering::CallLoweringInfo::IsPatchPoint |
Definition at line 4180 of file TargetLowering.h.
Referenced by setIsPatchPoint().
bool llvm::TargetLowering::CallLoweringInfo::IsPostTypeLegalization = false |
Definition at line 4189 of file TargetLowering.h.
Referenced by llvm::TargetLowering::LowerCallTo(), and setIsPostTypeLegalization().
bool llvm::TargetLowering::CallLoweringInfo::IsPreallocated |
Definition at line 4181 of file TargetLowering.h.
Referenced by setIsPreallocated().
bool llvm::TargetLowering::CallLoweringInfo::IsReturnValueUsed |
Definition at line 4178 of file TargetLowering.h.
Referenced by setCallee(), and setDiscardResult().
bool llvm::TargetLowering::CallLoweringInfo::IsTailCall = false |
Definition at line 4186 of file TargetLowering.h.
Referenced by llvm::VETargetLowering::LowerCall(), llvm::LoongArchTargetLowering::LowerCall(), llvm::HexagonTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::SelectionDAGBuilder::lowerInvokable(), llvm::AMDGPUTargetLowering::lowerUnhandledCall(), and setTailCall().
bool llvm::TargetLowering::CallLoweringInfo::IsVarArg |
Definition at line 4175 of file TargetLowering.h.
Referenced by analyzeCallOperands(), llvm::VETargetLowering::LowerCall(), llvm::LoongArchTargetLowering::LowerCall(), llvm::HexagonTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::TargetLowering::LowerCallTo(), setCallee(), and setVarArg().
bool llvm::TargetLowering::CallLoweringInfo::NoMerge |
Definition at line 4182 of file TargetLowering.h.
Referenced by llvm::LoongArchTargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), and setCallee().
unsigned llvm::TargetLowering::CallLoweringInfo::NumFixedArgs = -1 |
Definition at line 4191 of file TargetLowering.h.
Referenced by llvm::NVPTXTargetLowering::LowerCall(), setCallee(), and setLibCallee().
SmallVector<ISD::OutputArg, 32> llvm::TargetLowering::CallLoweringInfo::Outs |
Definition at line 4198 of file TargetLowering.h.
Referenced by analyzeCallOperands(), llvm::SparcTargetLowering::IsEligibleForTailCallOptimization(), llvm::VETargetLowering::LowerCall(), llvm::LoongArchTargetLowering::LowerCall(), llvm::HexagonTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), and llvm::SparcTargetLowering::LowerCall_64().
SmallVector<SDValue, 32> llvm::TargetLowering::CallLoweringInfo::OutVals |
Definition at line 4199 of file TargetLowering.h.
Referenced by llvm::VETargetLowering::LowerCall(), llvm::LoongArchTargetLowering::LowerCall(), llvm::HexagonTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), and llvm::SparcTargetLowering::LowerCall_64().
bool llvm::TargetLowering::CallLoweringInfo::RetSExt |
Definition at line 4173 of file TargetLowering.h.
Referenced by getReturnAttrs(), setCallee(), and setSExtResult().
Type* llvm::TargetLowering::CallLoweringInfo::RetTy = nullptr |
Definition at line 4172 of file TargetLowering.h.
Referenced by getReturnAttrs(), llvm::NVPTXTargetLowering::LowerCall(), llvm::TargetLowering::LowerCallTo(), setCallee(), and setLibCallee().
bool llvm::TargetLowering::CallLoweringInfo::RetZExt |
Definition at line 4174 of file TargetLowering.h.
Referenced by getReturnAttrs(), setCallee(), and setZExtResult().