LLVM
8.0.1
|
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 | IsTailCall = false |
bool | IsPostTypeLegalization = false |
unsigned | NumFixedArgs = -1 |
CallingConv::ID | CallConv = CallingConv::C |
SDValue | Callee |
ArgListTy | Args |
SelectionDAG & | DAG |
SDLoc | DL |
ImmutableCallSite | CS |
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 3187 of file TargetLowering.h.
|
inline |
Definition at line 3218 of file TargetLowering.h.
|
inline |
Definition at line 3333 of file TargetLowering.h.
References llvm::AMDGPU::HSAMD::Kernel::Key::Args.
Referenced by llvm::NVPTXTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), and llvm::TargetLowering::LowerCallTo().
|
inline |
Definition at line 3247 of file TargetLowering.h.
Referenced by getDivRemArgList(), isWordAligned(), llvm::SelectionDAGBuilder::LowerCallTo(), llvm::SparcTargetLowering::LowerF128Compare(), LowerFPOWI(), and llvm::SelectionDAGBuilder::populateCallLoweringInfo().
|
inline |
Definition at line 3257 of file TargetLowering.h.
References llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::doesNotReturn(), llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getCallingConv(), llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getInstruction(), llvm::ilist_node_with_parent< NodeTy, ParentTy, Options >::getNextNode(), llvm::FunctionType::getNumParams(), llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::hasRetAttr(), llvm::Attribute::InReg, llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::isInvoke(), llvm::FunctionType::isVarArg(), llvm::Attribute::SExt, llvm::Value::use_empty(), and llvm::Attribute::ZExt.
|
inline |
Definition at line 3228 of file TargetLowering.h.
Referenced by llvm::MipsTargetLowering::EmitInstrWithCustomInserter(), llvm::ARMSelectionDAGInfo::EmitSpecializedLibcall(), llvm::XCoreSelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::HexagonSelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::AArch64SelectionDAGInfo::EmitTargetCodeForMemset(), llvm::X86SelectionDAGInfo::EmitTargetCodeForMemset(), ExpandBVWithShuffles(), llvm::SelectionDAG::getAtomicMemcpy(), llvm::SelectionDAG::getAtomicMemmove(), llvm::SelectionDAG::getAtomicMemset(), getDivRemArgList(), getExpandedMinMaxOps(), llvm::ARMTargetLowering::getJumpTableEncoding(), llvm::SelectionDAG::getMemcpy(), llvm::SelectionDAG::getMemmove(), llvm::SelectionDAG::getMemset(), llvm::AVRTargetLowering::getSetCCResultType(), getUnderlyingArgReg(), isCalleeLoad(), isWordAligned(), LowerADDSUBCARRY(), llvm::SelectionDAGBuilder::LowerAsSTATEPOINT(), llvm::SelectionDAGBuilder::LowerCallTo(), llvm::SparcTargetLowering::LowerF128Compare(), LowerFPOWI(), LowerFSINCOS(), llvm::SelectionDAGBuilder::lowerInvokable(), LowerMULH(), llvm::TargetLowering::LowerToTLSEmulatedModel(), LowerVectorINT_TO_FP(), llvm::TargetLowering::makeLibCall(), llvm::SelectionDAGBuilder::populateCallLoweringInfo(), useSinCos(), and llvm::SelectionDAGBuilder::visitSPDescriptorParent().
|
inline |
Definition at line 3308 of file TargetLowering.h.
Referenced by llvm::SelectionDAGBuilder::LowerCallTo().
|
inline |
Definition at line 3223 of file TargetLowering.h.
Referenced by llvm::MipsTargetLowering::EmitInstrWithCustomInserter(), llvm::ARMSelectionDAGInfo::EmitSpecializedLibcall(), llvm::HexagonSelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::XCoreSelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::AArch64SelectionDAGInfo::EmitTargetCodeForMemset(), llvm::X86SelectionDAGInfo::EmitTargetCodeForMemset(), ExpandBVWithShuffles(), llvm::SelectionDAG::getAtomicMemcpy(), llvm::SelectionDAG::getAtomicMemmove(), llvm::SelectionDAG::getAtomicMemset(), getDivRemArgList(), getExpandedMinMaxOps(), llvm::ARMTargetLowering::getJumpTableEncoding(), llvm::SelectionDAG::getMemcpy(), llvm::SelectionDAG::getMemmove(), llvm::SelectionDAG::getMemset(), llvm::AVRTargetLowering::getSetCCResultType(), getUnderlyingArgReg(), isWordAligned(), LowerADDSUBCARRY(), llvm::SelectionDAGBuilder::LowerCallTo(), llvm::SparcTargetLowering::LowerF128Compare(), LowerFPOWI(), LowerFSINCOS(), LowerMULH(), llvm::TargetLowering::LowerToTLSEmulatedModel(), LowerVectorINT_TO_FP(), llvm::TargetLowering::makeLibCall(), llvm::SelectionDAGBuilder::populateCallLoweringInfo(), useSinCos(), and llvm::SelectionDAGBuilder::visitSPDescriptorParent().
|
inline |
Definition at line 3303 of file TargetLowering.h.
Referenced by llvm::TargetLowering::makeLibCall().
|
inline |
Definition at line 3283 of file TargetLowering.h.
Referenced by getDivRemArgList(), and llvm::AVRTargetLowering::getSetCCResultType().
|
inline |
Definition at line 3323 of file TargetLowering.h.
|
inline |
Definition at line 3328 of file TargetLowering.h.
Referenced by ExpandBVWithShuffles().
|
inline |
Definition at line 3234 of file TargetLowering.h.
References llvm::SelectionDAG::getMachineFunction(), llvm::SelectionDAG::getTargetLoweringInfo(), and llvm::TargetLoweringBase::markLibCallAttributes().
Referenced by llvm::ARMSelectionDAGInfo::EmitSpecializedLibcall(), llvm::HexagonSelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::XCoreSelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::AArch64SelectionDAGInfo::EmitTargetCodeForMemset(), llvm::X86SelectionDAGInfo::EmitTargetCodeForMemset(), ExpandBVWithShuffles(), llvm::SelectionDAG::getAtomicMemcpy(), llvm::SelectionDAG::getAtomicMemmove(), llvm::SelectionDAG::getAtomicMemset(), getExpandedMinMaxOps(), llvm::ARMTargetLowering::getJumpTableEncoding(), llvm::SelectionDAG::getMemcpy(), llvm::SelectionDAG::getMemmove(), llvm::SelectionDAG::getMemset(), llvm::AVRTargetLowering::getSetCCResultType(), getUnderlyingArgReg(), isWordAligned(), LowerMULH(), llvm::TargetLowering::LowerToTLSEmulatedModel(), and useSinCos().
|
inline |
Definition at line 3288 of file TargetLowering.h.
|
inline |
Definition at line 3313 of file TargetLowering.h.
Referenced by ExpandBVWithShuffles(), getDivRemArgList(), llvm::AVRTargetLowering::getSetCCResultType(), LowerMULH(), and llvm::TargetLowering::makeLibCall().
|
inline |
Definition at line 3298 of file TargetLowering.h.
Referenced by llvm::SelectionDAG::getAtomicMemcpy(), llvm::SelectionDAG::getAtomicMemmove(), llvm::SelectionDAG::getAtomicMemset(), llvm::SelectionDAG::getMemcpy(), llvm::SelectionDAG::getMemmove(), llvm::SelectionDAG::getMemset(), llvm::SelectionDAGBuilder::LowerCallTo(), and LowerFPOWI().
|
inline |
Definition at line 3293 of file TargetLowering.h.
|
inline |
Definition at line 3318 of file TargetLowering.h.
Referenced by ExpandBVWithShuffles(), getDivRemArgList(), llvm::AVRTargetLowering::getSetCCResultType(), LowerMULH(), and llvm::TargetLowering::makeLibCall().
ArgListTy llvm::TargetLowering::CallLoweringInfo::Args |
Definition at line 3209 of file TargetLowering.h.
CallingConv::ID llvm::TargetLowering::CallLoweringInfo::CallConv = CallingConv::C |
Definition at line 3207 of file TargetLowering.h.
Referenced by llvm::analyzeArguments(), AnalyzeReturnValues(), CC_Lanai32_VarArg(), llvm::ARMTargetLowering::CCAssignFnForReturn(), getMOVL(), llvm::MipsTargetLowering::getOpndList(), llvm::ARCTargetLowering::getTargetNodeName(), llvm::SelectionDAGBuilder::LowerAsSTATEPOINT(), llvm::HexagonTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::TargetLowering::LowerCallTo(), llvm::BPFTargetLowering::LowerOperation(), and PrepareCall().
SDValue llvm::TargetLowering::CallLoweringInfo::Callee |
Definition at line 3208 of file TargetLowering.h.
Referenced by llvm::analyzeArguments(), AnalyzeReturnValues(), CC_Lanai32_VarArg(), llvm::ARMTargetLowering::CCAssignFnForReturn(), llvm::getFunctionName(), getMOVL(), llvm::MipsTargetLowering::getOpndList(), llvm::ARCTargetLowering::getTargetNodeName(), llvm::HexagonTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::BPFTargetLowering::LowerOperation(), llvm::AMDGPUTargetLowering::lowerUnhandledCall(), and PrepareCall().
SDValue llvm::TargetLowering::CallLoweringInfo::Chain |
Definition at line 3188 of file TargetLowering.h.
Referenced by llvm::analyzeArguments(), AnalyzeReturnValues(), CC_Lanai32_VarArg(), llvm::ARMTargetLowering::CCAssignFnForReturn(), getMOVL(), llvm::ARCTargetLowering::getTargetNodeName(), llvm::HexagonTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::BPFTargetLowering::LowerOperation(), and PrepareCall().
ImmutableCallSite llvm::TargetLowering::CallLoweringInfo::CS |
Definition at line 3212 of file TargetLowering.h.
Referenced by llvm::ARMTargetLowering::CCAssignFnForReturn(), getMOVL(), llvm::HexagonTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::SelectionDAGBuilder::lowerInvokable(), llvm::SITargetLowering::passSpecialInputs(), and PrepareCall().
SelectionDAG& llvm::TargetLowering::CallLoweringInfo::DAG |
Definition at line 3210 of file TargetLowering.h.
Referenced by llvm::analyzeArguments(), AnalyzeReturnValues(), CC_Lanai32_VarArg(), llvm::ARMTargetLowering::CCAssignFnForReturn(), getMOVL(), llvm::MipsTargetLowering::getOpndList(), llvm::ARCTargetLowering::getTargetNodeName(), llvm::HexagonTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::SelectionDAGBuilder::LowerCallTo(), llvm::TargetLowering::LowerCallTo(), llvm::BPFTargetLowering::LowerOperation(), llvm::AMDGPUTargetLowering::lowerUnhandledCall(), llvm::SITargetLowering::passSpecialInputs(), and PrepareCall().
SDLoc llvm::TargetLowering::CallLoweringInfo::DL |
Definition at line 3211 of file TargetLowering.h.
Referenced by llvm::analyzeArguments(), AnalyzeReturnValues(), CC_Lanai32_VarArg(), llvm::ARMTargetLowering::CCAssignFnForReturn(), getMOVL(), llvm::MipsTargetLowering::getOpndList(), llvm::ARCTargetLowering::getTargetNodeName(), llvm::HexagonTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::SelectionDAGBuilder::LowerCallTo(), llvm::BPFTargetLowering::LowerOperation(), llvm::AMDGPUTargetLowering::lowerUnhandledCall(), llvm::SITargetLowering::passSpecialInputs(), and PrepareCall().
bool llvm::TargetLowering::CallLoweringInfo::DoesNotReturn |
Definition at line 3194 of file TargetLowering.h.
Referenced by llvm::ARMTargetLowering::CCAssignFnForReturn(), getMOVL(), and llvm::HexagonTargetLowering::LowerCall().
SmallVector<ISD::InputArg, 32> llvm::TargetLowering::CallLoweringInfo::Ins |
Definition at line 3215 of file TargetLowering.h.
Referenced by llvm::analyzeArguments(), AnalyzeReturnValues(), CC_Lanai32_VarArg(), llvm::ARMTargetLowering::CCAssignFnForReturn(), getMOVL(), llvm::ARCTargetLowering::getTargetNodeName(), llvm::HexagonTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::TargetLowering::LowerCallTo(), llvm::BPFTargetLowering::LowerOperation(), llvm::AMDGPUTargetLowering::lowerUnhandledCall(), and PrepareCall().
SmallVector<SDValue, 4> llvm::TargetLowering::CallLoweringInfo::InVals |
Definition at line 3216 of file TargetLowering.h.
Referenced by llvm::SelectionDAGBuilder::LowerCallTo().
bool llvm::TargetLowering::CallLoweringInfo::IsConvergent |
Definition at line 3196 of file TargetLowering.h.
Referenced by llvm::NVPTXTargetLowering::LowerCall().
bool llvm::TargetLowering::CallLoweringInfo::IsInReg |
Definition at line 3193 of file TargetLowering.h.
Referenced by getReturnAttrs(), and llvm::TargetLowering::LowerCallTo().
bool llvm::TargetLowering::CallLoweringInfo::IsPatchPoint |
Definition at line 3197 of file TargetLowering.h.
Referenced by PrepareCall().
Definition at line 3204 of file TargetLowering.h.
Referenced by llvm::TargetLowering::LowerCallTo().
bool llvm::TargetLowering::CallLoweringInfo::IsReturnValueUsed |
Definition at line 3195 of file TargetLowering.h.
Referenced by llvm::TargetLowering::LowerCallTo().
Definition at line 3201 of file TargetLowering.h.
Referenced by llvm::analyzeArguments(), AnalyzeReturnValues(), CC_Lanai32_VarArg(), llvm::ARMTargetLowering::CCAssignFnForReturn(), getMOVL(), llvm::ARCTargetLowering::getTargetNodeName(), llvm::HexagonTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::TargetLowering::LowerCallTo(), llvm::SelectionDAGBuilder::lowerInvokable(), llvm::BPFTargetLowering::LowerOperation(), llvm::AMDGPUTargetLowering::lowerUnhandledCall(), and PrepareCall().
bool llvm::TargetLowering::CallLoweringInfo::IsVarArg |
Definition at line 3192 of file TargetLowering.h.
Referenced by llvm::analyzeArguments(), AnalyzeReturnValues(), CC_Lanai32_VarArg(), llvm::ARMTargetLowering::CCAssignFnForReturn(), getMOVL(), llvm::ARCTargetLowering::getTargetNodeName(), llvm::HexagonTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::SelectionDAGBuilder::LowerCallSiteWithDeoptBundleImpl(), llvm::TargetLowering::LowerCallTo(), llvm::BPFTargetLowering::LowerOperation(), and PrepareCall().
unsigned llvm::TargetLowering::CallLoweringInfo::NumFixedArgs = -1 |
Definition at line 3206 of file TargetLowering.h.
Referenced by llvm::TargetLowering::LowerCallTo().
SmallVector<ISD::OutputArg, 32> llvm::TargetLowering::CallLoweringInfo::Outs |
Definition at line 3213 of file TargetLowering.h.
Referenced by llvm::analyzeArguments(), AnalyzeReturnValues(), CC_Lanai32_VarArg(), llvm::ARMTargetLowering::CCAssignFnForReturn(), getMOVL(), llvm::ARCTargetLowering::getTargetNodeName(), llvm::HexagonTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::TargetLowering::LowerCallTo(), llvm::BPFTargetLowering::LowerOperation(), and PrepareCall().
SmallVector<SDValue, 32> llvm::TargetLowering::CallLoweringInfo::OutVals |
Definition at line 3214 of file TargetLowering.h.
Referenced by llvm::analyzeArguments(), AnalyzeReturnValues(), CC_Lanai32_VarArg(), llvm::ARMTargetLowering::CCAssignFnForReturn(), getMOVL(), llvm::ARCTargetLowering::getTargetNodeName(), llvm::HexagonTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::TargetLowering::LowerCallTo(), llvm::BPFTargetLowering::LowerOperation(), and PrepareCall().
bool llvm::TargetLowering::CallLoweringInfo::RetSExt |
Definition at line 3190 of file TargetLowering.h.
Referenced by getReturnAttrs(), and llvm::TargetLowering::LowerCallTo().
Type* llvm::TargetLowering::CallLoweringInfo::RetTy = nullptr |
Definition at line 3189 of file TargetLowering.h.
Referenced by getMOVL(), getReturnAttrs(), llvm::NVPTXTargetLowering::LowerCall(), lowerCallFromStatepointLoweringInfo(), and llvm::TargetLowering::LowerCallTo().
bool llvm::TargetLowering::CallLoweringInfo::RetZExt |
Definition at line 3191 of file TargetLowering.h.
Referenced by getReturnAttrs(), and llvm::TargetLowering::LowerCallTo().