LLVM  8.0.1
Public Member Functions | Public Attributes | List of all members
llvm::FastISel::CallLoweringInfo Struct Reference

#include "llvm/CodeGen/FastISel.h"

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

Public Member Functions

 CallLoweringInfo ()
 
CallLoweringInfosetCallee (Type *ResultTy, FunctionType *FuncTy, const Value *Target, ArgListTy &&ArgsList, ImmutableCallSite &Call)
 
CallLoweringInfosetCallee (Type *ResultTy, FunctionType *FuncTy, MCSymbol *Target, ArgListTy &&ArgsList, ImmutableCallSite &Call, unsigned FixedArgs=~0U)
 
CallLoweringInfosetCallee (CallingConv::ID CC, Type *ResultTy, const Value *Target, ArgListTy &&ArgsList, unsigned FixedArgs=~0U)
 
CallLoweringInfosetCallee (const DataLayout &DL, MCContext &Ctx, CallingConv::ID CC, Type *ResultTy, StringRef Target, ArgListTy &&ArgsList, unsigned FixedArgs=~0U)
 
CallLoweringInfosetCallee (CallingConv::ID CC, Type *ResultTy, MCSymbol *Target, ArgListTy &&ArgsList, unsigned FixedArgs=~0U)
 
CallLoweringInfosetTailCall (bool Value=true)
 
CallLoweringInfosetIsPatchPoint (bool Value=true)
 
ArgListTygetArgs ()
 
void clearOuts ()
 
void clearIns ()
 

Public Attributes

TypeRetTy = nullptr
 
bool RetSExt: 1
 
bool RetZExt: 1
 
bool IsVarArg: 1
 
bool IsInReg: 1
 
bool DoesNotReturn: 1
 
bool IsReturnValueUsed: 1
 
bool IsPatchPoint: 1
 
bool IsTailCall = false
 
unsigned NumFixedArgs = -1
 
CallingConv::ID CallConv = CallingConv::C
 
const ValueCallee = nullptr
 
MCSymbolSymbol = nullptr
 
ArgListTy Args
 
ImmutableCallSiteCS = nullptr
 
MachineInstrCall = nullptr
 
unsigned ResultReg = 0
 
unsigned NumResultRegs = 0
 
SmallVector< Value *, 16 > OutVals
 
SmallVector< ISD::ArgFlagsTy, 16 > OutFlags
 
SmallVector< unsigned, 16 > OutRegs
 
SmallVector< ISD::InputArg, 4 > Ins
 
SmallVector< unsigned, 4 > InRegs
 

Detailed Description

Definition at line 71 of file FastISel.h.

Constructor & Destructor Documentation

◆ CallLoweringInfo()

llvm::FastISel::CallLoweringInfo::CallLoweringInfo ( )
inline

Definition at line 101 of file FastISel.h.

Member Function Documentation

◆ clearIns()

void llvm::FastISel::CallLoweringInfo::clearIns ( )
inline

Definition at line 196 of file FastISel.h.

References llvm::SmallVectorImpl< T >::clear().

Referenced by llvm::FastISel::lowerCallTo().

◆ clearOuts()

void llvm::FastISel::CallLoweringInfo::clearOuts ( )
inline

Definition at line 190 of file FastISel.h.

References llvm::SmallVectorImpl< T >::clear().

Referenced by llvm::FastISel::lowerCallTo().

◆ getArgs()

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

Definition at line 188 of file FastISel.h.

References Args.

Referenced by llvm::FastISel::lowerCallTo().

◆ setCallee() [1/5]

CallLoweringInfo& llvm::FastISel::CallLoweringInfo::setCallee ( Type ResultTy,
FunctionType FuncTy,
const Value Target,
ArgListTy &&  ArgsList,
ImmutableCallSite Call 
)
inline

◆ setCallee() [2/5]

CallLoweringInfo& llvm::FastISel::CallLoweringInfo::setCallee ( Type ResultTy,
FunctionType FuncTy,
MCSymbol Target,
ArgListTy &&  ArgsList,
ImmutableCallSite Call,
unsigned  FixedArgs = ~0U 
)
inline

◆ setCallee() [3/5]

CallLoweringInfo& llvm::FastISel::CallLoweringInfo::setCallee ( CallingConv::ID  CC,
Type ResultTy,
const Value Target,
ArgListTy &&  ArgsList,
unsigned  FixedArgs = ~0U 
)
inline

Definition at line 151 of file FastISel.h.

References llvm::FastISel::DL, and setCallee().

◆ setCallee() [4/5]

FastISel::CallLoweringInfo & FastISel::CallLoweringInfo::setCallee ( const DataLayout DL,
MCContext Ctx,
CallingConv::ID  CC,
Type ResultTy,
StringRef  Target,
ArgListTy &&  ArgsList,
unsigned  FixedArgs = ~0U 
)

◆ setCallee() [5/5]

CallLoweringInfo& llvm::FastISel::CallLoweringInfo::setCallee ( CallingConv::ID  CC,
Type ResultTy,
MCSymbol Target,
ArgListTy &&  ArgsList,
unsigned  FixedArgs = ~0U 
)
inline

Definition at line 167 of file FastISel.h.

◆ setIsPatchPoint()

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

Definition at line 183 of file FastISel.h.

References IsPatchPoint.

Referenced by llvm::FastISel::selectPatchpoint().

◆ setTailCall()

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

Definition at line 178 of file FastISel.h.

Member Data Documentation

◆ Args

ArgListTy llvm::FastISel::CallLoweringInfo::Args

Definition at line 89 of file FastISel.h.

Referenced by getArgs().

◆ Call

MachineInstr* llvm::FastISel::CallLoweringInfo::Call = nullptr

◆ CallConv

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

Definition at line 86 of file FastISel.h.

Referenced by llvm::FastISel::lowerCallTo().

◆ Callee

const Value* llvm::FastISel::CallLoweringInfo::Callee = nullptr

Definition at line 87 of file FastISel.h.

Referenced by llvm::FastISel::isCommutativeIntrinsic().

◆ CS

ImmutableCallSite* llvm::FastISel::CallLoweringInfo::CS = nullptr

Definition at line 90 of file FastISel.h.

Referenced by llvm::FastISel::lowerCallTo().

◆ DoesNotReturn

bool llvm::FastISel::CallLoweringInfo::DoesNotReturn

Definition at line 77 of file FastISel.h.

Referenced by setCallee().

◆ InRegs

SmallVector<unsigned, 4> llvm::FastISel::CallLoweringInfo::InRegs

Definition at line 99 of file FastISel.h.

Referenced by llvm::FastISel::lowerCallTo(), and llvm::FastISel::selectPatchpoint().

◆ Ins

SmallVector<ISD::InputArg, 4> llvm::FastISel::CallLoweringInfo::Ins

Definition at line 98 of file FastISel.h.

Referenced by llvm::FastISel::lowerCallTo().

◆ IsInReg

bool llvm::FastISel::CallLoweringInfo::IsInReg

Definition at line 76 of file FastISel.h.

Referenced by getReturnAttrs(), llvm::FastISel::lowerCallTo(), and setCallee().

◆ IsPatchPoint

bool llvm::FastISel::CallLoweringInfo::IsPatchPoint

Definition at line 79 of file FastISel.h.

Referenced by setIsPatchPoint().

◆ IsReturnValueUsed

bool llvm::FastISel::CallLoweringInfo::IsReturnValueUsed

Definition at line 78 of file FastISel.h.

Referenced by llvm::FastISel::lowerCallTo(), and setCallee().

◆ IsTailCall

bool llvm::FastISel::CallLoweringInfo::IsTailCall = false

Definition at line 83 of file FastISel.h.

◆ IsVarArg

bool llvm::FastISel::CallLoweringInfo::IsVarArg

Definition at line 75 of file FastISel.h.

Referenced by llvm::FastISel::lowerCallTo(), and setCallee().

◆ NumFixedArgs

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

Definition at line 85 of file FastISel.h.

◆ NumResultRegs

unsigned llvm::FastISel::CallLoweringInfo::NumResultRegs = 0

Definition at line 93 of file FastISel.h.

Referenced by llvm::FastISel::lowerCallTo(), and llvm::FastISel::selectPatchpoint().

◆ OutFlags

SmallVector<ISD::ArgFlagsTy, 16> llvm::FastISel::CallLoweringInfo::OutFlags

Definition at line 96 of file FastISel.h.

Referenced by llvm::FastISel::lowerCallTo().

◆ OutRegs

SmallVector<unsigned, 16> llvm::FastISel::CallLoweringInfo::OutRegs

Definition at line 97 of file FastISel.h.

Referenced by llvm::FastISel::selectPatchpoint().

◆ OutVals

SmallVector<Value *, 16> llvm::FastISel::CallLoweringInfo::OutVals

Definition at line 95 of file FastISel.h.

Referenced by llvm::FastISel::lowerCallTo().

◆ ResultReg

unsigned llvm::FastISel::CallLoweringInfo::ResultReg = 0

Definition at line 92 of file FastISel.h.

Referenced by llvm::FastISel::lowerCallTo(), and llvm::FastISel::selectPatchpoint().

◆ RetSExt

bool llvm::FastISel::CallLoweringInfo::RetSExt

Definition at line 73 of file FastISel.h.

Referenced by getReturnAttrs(), llvm::FastISel::lowerCallTo(), and setCallee().

◆ RetTy

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

Definition at line 72 of file FastISel.h.

Referenced by getReturnAttrs(), and llvm::FastISel::lowerCallTo().

◆ RetZExt

bool llvm::FastISel::CallLoweringInfo::RetZExt

Definition at line 74 of file FastISel.h.

Referenced by getReturnAttrs(), llvm::FastISel::lowerCallTo(), and setCallee().

◆ Symbol

MCSymbol* llvm::FastISel::CallLoweringInfo::Symbol = nullptr

Definition at line 88 of file FastISel.h.

Referenced by llvm::FastISel::fastMaterializeFloatZero().


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