LLVM  4.0.0
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 <TargetLowering.h>

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

Public Member Functions

 CallLoweringInfo (SelectionDAG &DAG)
 
CallLoweringInfosetDebugLoc (const SDLoc &dl)
 
CallLoweringInfosetChain (SDValue InChain)
 
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)
 
ArgListTygetArgs ()
 

Public Attributes

SDValue Chain
 
TypeRetTy
 
bool RetSExt: 1
 
bool RetZExt: 1
 
bool IsVarArg: 1
 
bool IsInReg: 1
 
bool DoesNotReturn: 1
 
bool IsReturnValueUsed: 1
 
bool IsConvergent: 1
 
bool IsTailCall
 
unsigned NumFixedArgs
 
CallingConv::ID CallConv
 
SDValue Callee
 
ArgListTy Args
 
SelectionDAGDAG
 
SDLoc DL
 
ImmutableCallSiteCS
 
bool IsPatchPoint
 
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 2567 of file TargetLowering.h.

Constructor & Destructor Documentation

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

Definition at line 2595 of file TargetLowering.h.

Member Function Documentation

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

Definition at line 2693 of file TargetLowering.h.

References Args.

Referenced by llvm::NVPTXTargetLowering::LowerCall(), and llvm::TargetLowering::LowerCallTo().

CallLoweringInfo& llvm::TargetLowering::CallLoweringInfo::setCallee ( CallingConv::ID  CC,
Type ResultType,
SDValue  Target,
ArgListTy &&  ArgsList 
)
inline
CallLoweringInfo& llvm::TargetLowering::CallLoweringInfo::setCallee ( Type ResultType,
FunctionType FTy,
SDValue  Target,
ArgListTy &&  ArgsList,
ImmutableCallSite Call 
)
inline
CallLoweringInfo& llvm::TargetLowering::CallLoweringInfo::setChain ( SDValue  InChain)
inline
CallLoweringInfo& llvm::TargetLowering::CallLoweringInfo::setConvergent ( bool  Value = true)
inline

Definition at line 2673 of file TargetLowering.h.

References IsConvergent.

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

CallLoweringInfo& llvm::TargetLowering::CallLoweringInfo::setDebugLoc ( const SDLoc dl)
inline
CallLoweringInfo& llvm::TargetLowering::CallLoweringInfo::setDiscardResult ( bool  Value = true)
inline

Definition at line 2668 of file TargetLowering.h.

References IsReturnValueUsed.

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

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

Definition at line 2648 of file TargetLowering.h.

References IsInReg.

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

Definition at line 2688 of file TargetLowering.h.

References IsPatchPoint.

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

Definition at line 2653 of file TargetLowering.h.

References DoesNotReturn.

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

Definition at line 2678 of file TargetLowering.h.

References RetSExt.

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

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

Definition at line 2658 of file TargetLowering.h.

References IsVarArg.

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

Definition at line 2683 of file TargetLowering.h.

References RetZExt.

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

Member Data Documentation

ArgListTy llvm::TargetLowering::CallLoweringInfo::Args

Definition at line 2585 of file TargetLowering.h.

Referenced by getArgs(), and setCallee().

CallingConv::ID llvm::TargetLowering::CallLoweringInfo::CallConv
SDValue llvm::TargetLowering::CallLoweringInfo::Callee
SDValue llvm::TargetLowering::CallLoweringInfo::Chain
ImmutableCallSite* llvm::TargetLowering::CallLoweringInfo::CS
SelectionDAG& llvm::TargetLowering::CallLoweringInfo::DAG
SDLoc llvm::TargetLowering::CallLoweringInfo::DL
bool llvm::TargetLowering::CallLoweringInfo::DoesNotReturn
SmallVector<ISD::InputArg, 32> llvm::TargetLowering::CallLoweringInfo::Ins
SmallVector<SDValue, 4> llvm::TargetLowering::CallLoweringInfo::InVals
bool llvm::TargetLowering::CallLoweringInfo::IsConvergent

Definition at line 2576 of file TargetLowering.h.

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

bool llvm::TargetLowering::CallLoweringInfo::IsInReg
bool llvm::TargetLowering::CallLoweringInfo::IsPatchPoint

Definition at line 2589 of file TargetLowering.h.

Referenced by setIsPatchPoint().

bool llvm::TargetLowering::CallLoweringInfo::IsReturnValueUsed
bool llvm::TargetLowering::CallLoweringInfo::IsTailCall
bool llvm::TargetLowering::CallLoweringInfo::IsVarArg
unsigned llvm::TargetLowering::CallLoweringInfo::NumFixedArgs

Definition at line 2582 of file TargetLowering.h.

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

SmallVector<ISD::OutputArg, 32> llvm::TargetLowering::CallLoweringInfo::Outs
SmallVector<SDValue, 32> llvm::TargetLowering::CallLoweringInfo::OutVals
bool llvm::TargetLowering::CallLoweringInfo::RetSExt
Type* llvm::TargetLowering::CallLoweringInfo::RetTy
bool llvm::TargetLowering::CallLoweringInfo::RetZExt

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