LLVM  13.0.0git
Public Member Functions | Public Attributes | List of all members
llvm::TargetLowering::CallLoweringInfo Struct Reference

This structure contains all information that is necessary for lowering calls. More...

#include "llvm/CodeGen/TargetLowering.h"

Collaboration diagram for llvm::TargetLowering::CallLoweringInfo:
Collaboration graph
[legend]

Public Member Functions

 CallLoweringInfo (SelectionDAG &DAG)
 
CallLoweringInfosetDebugLoc (const SDLoc &dl)
 
CallLoweringInfosetChain (SDValue InChain)
 
CallLoweringInfosetLibCallee (CallingConv::ID CC, Type *ResultType, SDValue Target, ArgListTy &&ArgsList)
 
CallLoweringInfosetCallee (CallingConv::ID CC, Type *ResultType, SDValue Target, ArgListTy &&ArgsList)
 
CallLoweringInfosetCallee (Type *ResultType, FunctionType *FTy, SDValue Target, ArgListTy &&ArgsList, const CallBase &Call)
 
CallLoweringInfosetInRegister (bool Value=true)
 
CallLoweringInfosetNoReturn (bool Value=true)
 
CallLoweringInfosetVarArg (bool Value=true)
 
CallLoweringInfosetTailCall (bool Value=true)
 
CallLoweringInfosetDiscardResult (bool Value=true)
 
CallLoweringInfosetConvergent (bool Value=true)
 
CallLoweringInfosetSExtResult (bool Value=true)
 
CallLoweringInfosetZExtResult (bool Value=true)
 
CallLoweringInfosetIsPatchPoint (bool Value=true)
 
CallLoweringInfosetIsPreallocated (bool Value=true)
 
CallLoweringInfosetIsPostTypeLegalization (bool Value=true)
 
ArgListTygetArgs ()
 

Public Attributes

SDValue Chain
 
TypeRetTy = 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
 
SelectionDAGDAG
 
SDLoc DL
 
const CallBaseCB = nullptr
 
SmallVector< ISD::OutputArg, 32 > Outs
 
SmallVector< SDValue, 32 > OutVals
 
SmallVector< ISD::InputArg, 32 > Ins
 
SmallVector< SDValue, 4 > InVals
 

Detailed 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.

Definition at line 3701 of file TargetLowering.h.

Constructor & Destructor Documentation

◆ CallLoweringInfo()

llvm::TargetLowering::CallLoweringInfo::CallLoweringInfo ( SelectionDAG DAG)
inline

Definition at line 3734 of file TargetLowering.h.

Member Function Documentation

◆ getArgs()

ArgListTy& llvm::TargetLowering::CallLoweringInfo::getArgs ( )
inline

◆ setCallee() [1/2]

CallLoweringInfo& llvm::TargetLowering::CallLoweringInfo::setCallee ( CallingConv::ID  CC,
Type ResultType,
SDValue  Target,
ArgListTy &&  ArgsList 
)
inline

Definition at line 3764 of file TargetLowering.h.

References Args, CallConv, Callee, move, NumFixedArgs, and RetTy.

Referenced by llvm::SparcTargetLowering::LowerF128Compare().

◆ setCallee() [2/2]

CallLoweringInfo& llvm::TargetLowering::CallLoweringInfo::setCallee ( Type ResultType,
FunctionType FTy,
SDValue  Target,
ArgListTy &&  ArgsList,
const CallBase Call 
)
inline

◆ setChain()

CallLoweringInfo& llvm::TargetLowering::CallLoweringInfo::setChain ( SDValue  InChain)
inline

◆ setConvergent()

CallLoweringInfo& llvm::TargetLowering::CallLoweringInfo::setConvergent ( bool  Value = true)
inline

Definition at line 3825 of file TargetLowering.h.

References IsConvergent.

◆ setDebugLoc()

CallLoweringInfo& llvm::TargetLowering::CallLoweringInfo::setDebugLoc ( const SDLoc dl)
inline

Definition at line 3740 of file TargetLowering.h.

References DL.

Referenced by llvm::SparcTargetLowering::LowerF128Compare().

◆ setDiscardResult()

CallLoweringInfo& llvm::TargetLowering::CallLoweringInfo::setDiscardResult ( bool  Value = true)
inline

Definition at line 3820 of file TargetLowering.h.

References IsReturnValueUsed.

◆ setInRegister()

CallLoweringInfo& llvm::TargetLowering::CallLoweringInfo::setInRegister ( bool  Value = true)
inline

Definition at line 3800 of file TargetLowering.h.

References IsInReg.

◆ setIsPatchPoint()

CallLoweringInfo& llvm::TargetLowering::CallLoweringInfo::setIsPatchPoint ( bool  Value = true)
inline

Definition at line 3840 of file TargetLowering.h.

References IsPatchPoint.

◆ setIsPostTypeLegalization()

CallLoweringInfo& llvm::TargetLowering::CallLoweringInfo::setIsPostTypeLegalization ( bool  Value = true)
inline

Definition at line 3850 of file TargetLowering.h.

References IsPostTypeLegalization.

◆ setIsPreallocated()

CallLoweringInfo& llvm::TargetLowering::CallLoweringInfo::setIsPreallocated ( bool  Value = true)
inline

Definition at line 3845 of file TargetLowering.h.

References IsPreallocated.

◆ setLibCallee()

CallLoweringInfo& llvm::TargetLowering::CallLoweringInfo::setLibCallee ( CallingConv::ID  CC,
Type ResultType,
SDValue  Target,
ArgListTy &&  ArgsList 
)
inline

◆ setNoReturn()

CallLoweringInfo& llvm::TargetLowering::CallLoweringInfo::setNoReturn ( bool  Value = true)
inline

Definition at line 3805 of file TargetLowering.h.

References DoesNotReturn.

◆ setSExtResult()

CallLoweringInfo& llvm::TargetLowering::CallLoweringInfo::setSExtResult ( bool  Value = true)
inline

Definition at line 3830 of file TargetLowering.h.

References RetSExt.

◆ setTailCall()

CallLoweringInfo& llvm::TargetLowering::CallLoweringInfo::setTailCall ( bool  Value = true)
inline

Definition at line 3815 of file TargetLowering.h.

References IsTailCall.

◆ setVarArg()

CallLoweringInfo& llvm::TargetLowering::CallLoweringInfo::setVarArg ( bool  Value = true)
inline

Definition at line 3810 of file TargetLowering.h.

References IsVarArg.

◆ setZExtResult()

CallLoweringInfo& llvm::TargetLowering::CallLoweringInfo::setZExtResult ( bool  Value = true)
inline

Definition at line 3835 of file TargetLowering.h.

References RetZExt.

Member Data Documentation

◆ Args

ArgListTy llvm::TargetLowering::CallLoweringInfo::Args

◆ CallConv

CallingConv::ID llvm::TargetLowering::CallLoweringInfo::CallConv = CallingConv::C

◆ Callee

SDValue llvm::TargetLowering::CallLoweringInfo::Callee

◆ CB

const CallBase* llvm::TargetLowering::CallLoweringInfo::CB = nullptr

◆ Chain

SDValue llvm::TargetLowering::CallLoweringInfo::Chain

◆ DAG

SelectionDAG& llvm::TargetLowering::CallLoweringInfo::DAG

◆ DL

SDLoc llvm::TargetLowering::CallLoweringInfo::DL

◆ DoesNotReturn

bool llvm::TargetLowering::CallLoweringInfo::DoesNotReturn

◆ Ins

SmallVector<ISD::InputArg, 32> llvm::TargetLowering::CallLoweringInfo::Ins

◆ InVals

SmallVector<SDValue, 4> llvm::TargetLowering::CallLoweringInfo::InVals

Definition at line 3732 of file TargetLowering.h.

◆ IsConvergent

bool llvm::TargetLowering::CallLoweringInfo::IsConvergent

Definition at line 3710 of file TargetLowering.h.

Referenced by llvm::NVPTXTargetLowering::LowerCall(), and setConvergent().

◆ IsInReg

bool llvm::TargetLowering::CallLoweringInfo::IsInReg

Definition at line 3707 of file TargetLowering.h.

Referenced by getReturnAttrs(), setCallee(), and setInRegister().

◆ IsPatchPoint

bool llvm::TargetLowering::CallLoweringInfo::IsPatchPoint

Definition at line 3711 of file TargetLowering.h.

Referenced by setIsPatchPoint().

◆ IsPostTypeLegalization

bool llvm::TargetLowering::CallLoweringInfo::IsPostTypeLegalization = false

◆ IsPreallocated

bool llvm::TargetLowering::CallLoweringInfo::IsPreallocated

Definition at line 3712 of file TargetLowering.h.

Referenced by setIsPreallocated().

◆ IsReturnValueUsed

bool llvm::TargetLowering::CallLoweringInfo::IsReturnValueUsed

Definition at line 3709 of file TargetLowering.h.

Referenced by setCallee(), and setDiscardResult().

◆ IsTailCall

bool llvm::TargetLowering::CallLoweringInfo::IsTailCall = false

◆ IsVarArg

bool llvm::TargetLowering::CallLoweringInfo::IsVarArg

◆ NoMerge

bool llvm::TargetLowering::CallLoweringInfo::NoMerge

◆ NumFixedArgs

unsigned llvm::TargetLowering::CallLoweringInfo::NumFixedArgs = -1

Definition at line 3722 of file TargetLowering.h.

Referenced by setCallee(), and setLibCallee().

◆ Outs

SmallVector<ISD::OutputArg, 32> llvm::TargetLowering::CallLoweringInfo::Outs

◆ OutVals

SmallVector<SDValue, 32> llvm::TargetLowering::CallLoweringInfo::OutVals

◆ RetSExt

bool llvm::TargetLowering::CallLoweringInfo::RetSExt

Definition at line 3704 of file TargetLowering.h.

Referenced by getReturnAttrs(), setCallee(), and setSExtResult().

◆ RetTy

Type* llvm::TargetLowering::CallLoweringInfo::RetTy = nullptr

◆ RetZExt

bool llvm::TargetLowering::CallLoweringInfo::RetZExt

Definition at line 3705 of file TargetLowering.h.

Referenced by getReturnAttrs(), setCallee(), and setZExtResult().


The documentation for this struct was generated from the following file: