LLVM  8.0.1
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, ImmutableCallSite 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)
 
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 IsTailCall = false
 
bool IsPostTypeLegalization = false
 
unsigned NumFixedArgs = -1
 
CallingConv::ID CallConv = CallingConv::C
 
SDValue Callee
 
ArgListTy Args
 
SelectionDAGDAG
 
SDLoc DL
 
ImmutableCallSite CS
 
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 3187 of file TargetLowering.h.

Constructor & Destructor Documentation

◆ CallLoweringInfo()

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

Definition at line 3218 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

◆ setCallee() [2/2]

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

◆ setChain()

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

◆ setConvergent()

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

Definition at line 3308 of file TargetLowering.h.

Referenced by llvm::SelectionDAGBuilder::LowerCallTo().

◆ setDebugLoc()

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

◆ setDiscardResult()

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

Definition at line 3303 of file TargetLowering.h.

Referenced by llvm::TargetLowering::makeLibCall().

◆ setInRegister()

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

◆ setIsPatchPoint()

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

Definition at line 3323 of file TargetLowering.h.

◆ setIsPostTypeLegalization()

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

Definition at line 3328 of file TargetLowering.h.

Referenced by ExpandBVWithShuffles().

◆ 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 3288 of file TargetLowering.h.

◆ setSExtResult()

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

◆ setTailCall()

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

◆ setVarArg()

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

Definition at line 3293 of file TargetLowering.h.

◆ setZExtResult()

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

Member Data Documentation

◆ Args

ArgListTy llvm::TargetLowering::CallLoweringInfo::Args

Definition at line 3209 of file TargetLowering.h.

◆ CallConv

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

◆ Callee

SDValue llvm::TargetLowering::CallLoweringInfo::Callee

◆ Chain

SDValue llvm::TargetLowering::CallLoweringInfo::Chain

◆ CS

ImmutableCallSite llvm::TargetLowering::CallLoweringInfo::CS

◆ 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 3216 of file TargetLowering.h.

Referenced by llvm::SelectionDAGBuilder::LowerCallTo().

◆ IsConvergent

bool llvm::TargetLowering::CallLoweringInfo::IsConvergent

Definition at line 3196 of file TargetLowering.h.

Referenced by llvm::NVPTXTargetLowering::LowerCall().

◆ IsInReg

bool llvm::TargetLowering::CallLoweringInfo::IsInReg

Definition at line 3193 of file TargetLowering.h.

Referenced by getReturnAttrs(), and llvm::TargetLowering::LowerCallTo().

◆ IsPatchPoint

bool llvm::TargetLowering::CallLoweringInfo::IsPatchPoint

Definition at line 3197 of file TargetLowering.h.

Referenced by PrepareCall().

◆ IsPostTypeLegalization

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

Definition at line 3204 of file TargetLowering.h.

Referenced by llvm::TargetLowering::LowerCallTo().

◆ IsReturnValueUsed

bool llvm::TargetLowering::CallLoweringInfo::IsReturnValueUsed

Definition at line 3195 of file TargetLowering.h.

Referenced by llvm::TargetLowering::LowerCallTo().

◆ IsTailCall

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

◆ IsVarArg

bool llvm::TargetLowering::CallLoweringInfo::IsVarArg

◆ NumFixedArgs

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

Definition at line 3206 of file TargetLowering.h.

Referenced by llvm::TargetLowering::LowerCallTo().

◆ 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 3190 of file TargetLowering.h.

Referenced by getReturnAttrs(), and llvm::TargetLowering::LowerCallTo().

◆ RetTy

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

◆ RetZExt

bool llvm::TargetLowering::CallLoweringInfo::RetZExt

Definition at line 3191 of file TargetLowering.h.

Referenced by getReturnAttrs(), and llvm::TargetLowering::LowerCallTo().


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