struct TargetLowering::CallLoweringInfo
Declaration
struct TargetLowering::CallLoweringInfo { /* full declaration omitted */ };
Description
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.
Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4020
Member Variables
- public llvm::SDValue Chain
- public llvm::Type* RetTy = nullptr
- public bool RetSExt
- public bool RetZExt
- public bool IsVarArg
- public bool IsInReg
- public bool DoesNotReturn
- public bool IsReturnValueUsed
- public bool IsConvergent
- public bool IsPatchPoint
- public bool IsPreallocated
- public bool NoMerge
- public bool IsTailCall = false
- public bool IsPostTypeLegalization = false
- public unsigned int NumFixedArgs = -1
- public CallingConv::ID CallConv = CallingConv::C
- public llvm::SDValue Callee
- public llvm::TargetLoweringBase::ArgListTy Args
- public llvm::SelectionDAG& DAG
- public llvm::SDLoc DL
- public const llvm::CallBase* CB = nullptr
- public SmallVector<ISD::OutputArg, 32> Outs
- public SmallVector<llvm::SDValue, 32> OutVals
- public SmallVector<ISD::InputArg, 32> Ins
- public SmallVector<llvm::SDValue, 4> InVals
Method Overview
- public CallLoweringInfo(llvm::SelectionDAG & DAG)
- public llvm::TargetLoweringBase::ArgListTy & getArgs()
- public llvm::TargetLowering::CallLoweringInfo & setCallee(CallingConv::ID CC, llvm::Type * ResultType, llvm::SDValue Target, llvm::TargetLoweringBase::ArgListTy && ArgsList)
- public llvm::TargetLowering::CallLoweringInfo & setCallee(llvm::Type * ResultType, llvm::FunctionType * FTy, llvm::SDValue Target, llvm::TargetLoweringBase::ArgListTy && ArgsList, const llvm::CallBase & Call)
- public llvm::TargetLowering::CallLoweringInfo & setChain(llvm::SDValue InChain)
- public llvm::TargetLowering::CallLoweringInfo & setConvergent(bool Value = true)
- public llvm::TargetLowering::CallLoweringInfo & setDebugLoc(const llvm::SDLoc & dl)
- public llvm::TargetLowering::CallLoweringInfo & setDiscardResult(bool Value = true)
- public llvm::TargetLowering::CallLoweringInfo & setInRegister(bool Value = true)
- public llvm::TargetLowering::CallLoweringInfo & setIsPatchPoint(bool Value = true)
- public llvm::TargetLowering::CallLoweringInfo & setIsPostTypeLegalization(bool Value = true)
- public llvm::TargetLowering::CallLoweringInfo & setIsPreallocated(bool Value = true)
- public llvm::TargetLowering::CallLoweringInfo & setLibCallee(CallingConv::ID CC, llvm::Type * ResultType, llvm::SDValue Target, llvm::TargetLoweringBase::ArgListTy && ArgsList)
- public llvm::TargetLowering::CallLoweringInfo & setNoReturn(bool Value = true)
- public llvm::TargetLowering::CallLoweringInfo & setSExtResult(bool Value = true)
- public llvm::TargetLowering::CallLoweringInfo & setTailCall(bool Value = true)
- public llvm::TargetLowering::CallLoweringInfo & setVarArg(bool Value = true)
- public llvm::TargetLowering::CallLoweringInfo & setZExtResult(bool Value = true)
Methods
¶CallLoweringInfo(llvm::SelectionDAG& DAG)
CallLoweringInfo(llvm::SelectionDAG& DAG)
Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4053
Parameters
- llvm::SelectionDAG& DAG
¶llvm::TargetLoweringBase::ArgListTy& getArgs()
llvm::TargetLoweringBase::ArgListTy& getArgs()
Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4174
¶llvm::TargetLowering::CallLoweringInfo& setCallee(
CallingConv::ID CC,
llvm::Type* ResultType,
llvm::SDValue Target,
llvm::TargetLoweringBase::ArgListTy&&
ArgsList)
llvm::TargetLowering::CallLoweringInfo& setCallee(
CallingConv::ID CC,
llvm::Type* ResultType,
llvm::SDValue Target,
llvm::TargetLoweringBase::ArgListTy&&
ArgsList)
Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4083
Parameters
- CallingConv::ID CC
- llvm::Type* ResultType
- llvm::SDValue Target
- llvm::TargetLoweringBase::ArgListTy&& ArgsList
¶llvm::TargetLowering::CallLoweringInfo& setCallee(
llvm::Type* ResultType,
llvm::FunctionType* FTy,
llvm::SDValue Target,
llvm::TargetLoweringBase::ArgListTy&&
ArgsList,
const llvm::CallBase& Call)
llvm::TargetLowering::CallLoweringInfo& setCallee(
llvm::Type* ResultType,
llvm::FunctionType* FTy,
llvm::SDValue Target,
llvm::TargetLoweringBase::ArgListTy&&
ArgsList,
const llvm::CallBase& Call)
Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4093
Parameters
- llvm::Type* ResultType
- llvm::FunctionType* FTy
- llvm::SDValue Target
- llvm::TargetLoweringBase::ArgListTy&& ArgsList
- const llvm::CallBase& Call
¶llvm::TargetLowering::CallLoweringInfo& setChain(
llvm::SDValue InChain)
llvm::TargetLowering::CallLoweringInfo& setChain(
llvm::SDValue InChain)
Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4064
Parameters
- llvm::SDValue InChain
¶llvm::TargetLowering::CallLoweringInfo&
setConvergent(bool Value = true)
llvm::TargetLowering::CallLoweringInfo&
setConvergent(bool Value = true)
Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4144
Parameters
- bool Value = true
¶llvm::TargetLowering::CallLoweringInfo&
setDebugLoc(const llvm::SDLoc& dl)
llvm::TargetLowering::CallLoweringInfo&
setDebugLoc(const llvm::SDLoc& dl)
Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4059
Parameters
- const llvm::SDLoc& dl
¶llvm::TargetLowering::CallLoweringInfo&
setDiscardResult(bool Value = true)
llvm::TargetLowering::CallLoweringInfo&
setDiscardResult(bool Value = true)
Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4139
Parameters
- bool Value = true
¶llvm::TargetLowering::CallLoweringInfo&
setInRegister(bool Value = true)
llvm::TargetLowering::CallLoweringInfo&
setInRegister(bool Value = true)
Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4119
Parameters
- bool Value = true
¶llvm::TargetLowering::CallLoweringInfo&
setIsPatchPoint(bool Value = true)
llvm::TargetLowering::CallLoweringInfo&
setIsPatchPoint(bool Value = true)
Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4159
Parameters
- bool Value = true
¶llvm::TargetLowering::CallLoweringInfo&
setIsPostTypeLegalization(bool Value = true)
llvm::TargetLowering::CallLoweringInfo&
setIsPostTypeLegalization(bool Value = true)
Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4169
Parameters
- bool Value = true
¶llvm::TargetLowering::CallLoweringInfo&
setIsPreallocated(bool Value = true)
llvm::TargetLowering::CallLoweringInfo&
setIsPreallocated(bool Value = true)
Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4164
Parameters
- bool Value = true
¶llvm::TargetLowering::CallLoweringInfo&
setLibCallee(CallingConv::ID CC,
llvm::Type* ResultType,
llvm::SDValue Target,
llvm::TargetLoweringBase::ArgListTy&&
ArgsList)
llvm::TargetLowering::CallLoweringInfo&
setLibCallee(CallingConv::ID CC,
llvm::Type* ResultType,
llvm::SDValue Target,
llvm::TargetLoweringBase::ArgListTy&&
ArgsList)
Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4070
Parameters
- CallingConv::ID CC
- llvm::Type* ResultType
- llvm::SDValue Target
- llvm::TargetLoweringBase::ArgListTy&& ArgsList
¶llvm::TargetLowering::CallLoweringInfo&
setNoReturn(bool Value = true)
llvm::TargetLowering::CallLoweringInfo&
setNoReturn(bool Value = true)
Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4124
Parameters
- bool Value = true
¶llvm::TargetLowering::CallLoweringInfo&
setSExtResult(bool Value = true)
llvm::TargetLowering::CallLoweringInfo&
setSExtResult(bool Value = true)
Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4149
Parameters
- bool Value = true
¶llvm::TargetLowering::CallLoweringInfo&
setTailCall(bool Value = true)
llvm::TargetLowering::CallLoweringInfo&
setTailCall(bool Value = true)
Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4134
Parameters
- bool Value = true
¶llvm::TargetLowering::CallLoweringInfo& setVarArg(
bool Value = true)
llvm::TargetLowering::CallLoweringInfo& setVarArg(
bool Value = true)
Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4129
Parameters
- bool Value = true
¶llvm::TargetLowering::CallLoweringInfo&
setZExtResult(bool Value = true)
llvm::TargetLowering::CallLoweringInfo&
setZExtResult(bool Value = true)
Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4154
Parameters
- bool Value = true