LLVM
15.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 |
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 4009 of file TargetLowering.h.
|
inline |
Definition at line 4042 of file TargetLowering.h.
|
inline |
Definition at line 4163 of file TargetLowering.h.
References Args.
Referenced by llvm::NVPTXTargetLowering::LowerCall(), and llvm::SparcTargetLowering::LowerCall_32().
|
inline |
Definition at line 4072 of file TargetLowering.h.
References Args, CallConv, Callee, move, NumFixedArgs, and RetTy.
Referenced by llvm::SparcTargetLowering::LowerF128Compare().
|
inline |
Definition at line 4082 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 4053 of file TargetLowering.h.
References Chain.
Referenced by llvm::SelectionDAG::getMemset(), llvm::SparcTargetLowering::LowerF128Compare(), and llvm::SelectionDAGBuilder::lowerInvokable().
|
inline |
Definition at line 4133 of file TargetLowering.h.
References IsConvergent.
|
inline |
Definition at line 4048 of file TargetLowering.h.
References DL.
Referenced by llvm::SelectionDAG::getMemset(), and llvm::SparcTargetLowering::LowerF128Compare().
|
inline |
Definition at line 4128 of file TargetLowering.h.
References IsReturnValueUsed.
|
inline |
Definition at line 4108 of file TargetLowering.h.
References IsInReg.
|
inline |
Definition at line 4148 of file TargetLowering.h.
References IsPatchPoint.
|
inline |
Definition at line 4158 of file TargetLowering.h.
References IsPostTypeLegalization.
|
inline |
Definition at line 4153 of file TargetLowering.h.
References IsPreallocated.
|
inline |
Definition at line 4059 of file TargetLowering.h.
References Args, CallConv, Callee, DAG, llvm::SelectionDAG::getMachineFunction(), llvm::SelectionDAG::getTargetLoweringInfo(), llvm::TargetLoweringBase::markLibCallAttributes(), move, NumFixedArgs, and RetTy.
|
inline |
Definition at line 4113 of file TargetLowering.h.
References DoesNotReturn.
|
inline |
Definition at line 4138 of file TargetLowering.h.
References RetSExt.
|
inline |
Definition at line 4123 of file TargetLowering.h.
References IsTailCall.
|
inline |
Definition at line 4118 of file TargetLowering.h.
References IsVarArg.
|
inline |
Definition at line 4143 of file TargetLowering.h.
References RetZExt.
ArgListTy llvm::TargetLowering::CallLoweringInfo::Args |
Definition at line 4033 of file TargetLowering.h.
Referenced by analyzeCallOperands(), getArgs(), llvm::SystemZTargetLowering::LowerCall(), setCallee(), and setLibCallee().
CallingConv::ID llvm::TargetLowering::CallLoweringInfo::CallConv = CallingConv::C |
Definition at line 4031 of file TargetLowering.h.
Referenced by analyzeCallOperands(), llvm::MipsTargetLowering::getOpndList(), llvm::VETargetLowering::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 4032 of file TargetLowering.h.
Referenced by llvm::MipsTargetLowering::getOpndList(), llvm::VETargetLowering::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 4036 of file TargetLowering.h.
Referenced by llvm::VETargetLowering::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().
SDValue llvm::TargetLowering::CallLoweringInfo::Chain |
Definition at line 4010 of file TargetLowering.h.
Referenced by llvm::VETargetLowering::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 4034 of file TargetLowering.h.
Referenced by analyzeCallOperands(), llvm::MipsTargetLowering::getOpndList(), llvm::VETargetLowering::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 4035 of file TargetLowering.h.
Referenced by llvm::MipsTargetLowering::getOpndList(), llvm::VETargetLowering::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 4016 of file TargetLowering.h.
Referenced by llvm::HexagonTargetLowering::LowerCall(), setCallee(), and setNoReturn().
SmallVector<ISD::InputArg, 32> llvm::TargetLowering::CallLoweringInfo::Ins |
Definition at line 4039 of file TargetLowering.h.
Referenced by llvm::VETargetLowering::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 4040 of file TargetLowering.h.
bool llvm::TargetLowering::CallLoweringInfo::IsConvergent |
Definition at line 4018 of file TargetLowering.h.
Referenced by llvm::NVPTXTargetLowering::LowerCall(), and setConvergent().
bool llvm::TargetLowering::CallLoweringInfo::IsInReg |
Definition at line 4015 of file TargetLowering.h.
Referenced by getReturnAttrs(), setCallee(), and setInRegister().
bool llvm::TargetLowering::CallLoweringInfo::IsPatchPoint |
Definition at line 4019 of file TargetLowering.h.
Referenced by setIsPatchPoint().
bool llvm::TargetLowering::CallLoweringInfo::IsPostTypeLegalization = false |
Definition at line 4028 of file TargetLowering.h.
Referenced by llvm::TargetLowering::LowerCallTo(), and setIsPostTypeLegalization().
bool llvm::TargetLowering::CallLoweringInfo::IsPreallocated |
Definition at line 4020 of file TargetLowering.h.
Referenced by setIsPreallocated().
bool llvm::TargetLowering::CallLoweringInfo::IsReturnValueUsed |
Definition at line 4017 of file TargetLowering.h.
Referenced by setCallee(), and setDiscardResult().
bool llvm::TargetLowering::CallLoweringInfo::IsTailCall = false |
Definition at line 4025 of file TargetLowering.h.
Referenced by llvm::VETargetLowering::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 4014 of file TargetLowering.h.
Referenced by analyzeCallOperands(), llvm::VETargetLowering::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 setVarArg().
bool llvm::TargetLowering::CallLoweringInfo::NoMerge |
Definition at line 4021 of file TargetLowering.h.
Referenced by llvm::RISCVTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), and setCallee().
unsigned llvm::TargetLowering::CallLoweringInfo::NumFixedArgs = -1 |
Definition at line 4030 of file TargetLowering.h.
Referenced by setCallee(), and setLibCallee().
SmallVector<ISD::OutputArg, 32> llvm::TargetLowering::CallLoweringInfo::Outs |
Definition at line 4037 of file TargetLowering.h.
Referenced by analyzeCallOperands(), llvm::SparcTargetLowering::IsEligibleForTailCallOptimization(), llvm::VETargetLowering::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 4038 of file TargetLowering.h.
Referenced by llvm::VETargetLowering::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 4012 of file TargetLowering.h.
Referenced by getReturnAttrs(), setCallee(), and setSExtResult().
Type* llvm::TargetLowering::CallLoweringInfo::RetTy = nullptr |
Definition at line 4011 of file TargetLowering.h.
Referenced by getReturnAttrs(), llvm::NVPTXTargetLowering::LowerCall(), llvm::TargetLowering::LowerCallTo(), setCallee(), and setLibCallee().
bool llvm::TargetLowering::CallLoweringInfo::RetZExt |
Definition at line 4013 of file TargetLowering.h.
Referenced by getReturnAttrs(), setCallee(), and setZExtResult().