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

#include "llvm/CodeGen/FastISel.h"

Public Member Functions

 CallLoweringInfo ()
 
CallLoweringInfosetCallee (Type *ResultTy, FunctionType *FuncTy, const Value *Target, ArgListTy &&ArgsList, const CallBase &Call)
 
CallLoweringInfosetCallee (Type *ResultTy, FunctionType *FuncTy, MCSymbol *Target, ArgListTy &&ArgsList, const CallBase &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
 
const CallBaseCB = nullptr
 
MachineInstrCall = nullptr
 
Register ResultReg
 
unsigned NumResultRegs = 0
 
SmallVector< Value *, 16 > OutVals
 
SmallVector< ISD::ArgFlagsTy, 16 > OutFlags
 
SmallVector< Register, 16 > OutRegs
 
SmallVector< ISD::InputArg, 4 > Ins
 
SmallVector< Register, 4 > InRegs
 

Detailed Description

Definition at line 70 of file FastISel.h.

Constructor & Destructor Documentation

◆ CallLoweringInfo()

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

Definition at line 100 of file FastISel.h.

Member Function Documentation

◆ clearIns()

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

Definition at line 195 of file FastISel.h.

References InRegs, and Ins.

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

◆ clearOuts()

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

Definition at line 189 of file FastISel.h.

References OutFlags, OutRegs, and OutVals.

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

◆ getArgs()

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

Definition at line 187 of file FastISel.h.

References Args.

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

◆ setCallee() [1/5]

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

Definition at line 150 of file FastISel.h.

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

◆ setCallee() [2/5]

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

Definition at line 166 of file FastISel.h.

References Args, CallConv, CC, NumFixedArgs, RetTy, and Symbol.

◆ setCallee() [3/5]

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

◆ setCallee() [4/5]

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

◆ setCallee() [5/5]

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

◆ setIsPatchPoint()

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

Definition at line 182 of file FastISel.h.

References IsPatchPoint.

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

◆ setTailCall()

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

Definition at line 177 of file FastISel.h.

References IsTailCall.

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

Member Data Documentation

◆ Args

ArgListTy llvm::FastISel::CallLoweringInfo::Args

Definition at line 88 of file FastISel.h.

Referenced by getArgs(), and setCallee().

◆ Call

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

◆ CallConv

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

Definition at line 85 of file FastISel.h.

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

◆ Callee

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

Definition at line 86 of file FastISel.h.

Referenced by setCallee().

◆ CB

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

Definition at line 89 of file FastISel.h.

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

◆ DoesNotReturn

bool llvm::FastISel::CallLoweringInfo::DoesNotReturn

Definition at line 76 of file FastISel.h.

Referenced by setCallee().

◆ InRegs

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

◆ Ins

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

Definition at line 97 of file FastISel.h.

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

◆ IsInReg

bool llvm::FastISel::CallLoweringInfo::IsInReg

Definition at line 75 of file FastISel.h.

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

◆ IsPatchPoint

bool llvm::FastISel::CallLoweringInfo::IsPatchPoint

Definition at line 78 of file FastISel.h.

Referenced by setIsPatchPoint().

◆ IsReturnValueUsed

bool llvm::FastISel::CallLoweringInfo::IsReturnValueUsed

Definition at line 77 of file FastISel.h.

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

◆ IsTailCall

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

Definition at line 82 of file FastISel.h.

Referenced by setTailCall().

◆ IsVarArg

bool llvm::FastISel::CallLoweringInfo::IsVarArg

Definition at line 74 of file FastISel.h.

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

◆ NumFixedArgs

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

Definition at line 84 of file FastISel.h.

Referenced by setCallee().

◆ NumResultRegs

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

Definition at line 92 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 95 of file FastISel.h.

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

◆ OutRegs

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

Definition at line 96 of file FastISel.h.

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

◆ OutVals

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

Definition at line 94 of file FastISel.h.

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

◆ ResultReg

Register llvm::FastISel::CallLoweringInfo::ResultReg

Definition at line 91 of file FastISel.h.

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

◆ RetSExt

bool llvm::FastISel::CallLoweringInfo::RetSExt

Definition at line 72 of file FastISel.h.

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

◆ RetTy

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

Definition at line 71 of file FastISel.h.

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

◆ RetZExt

bool llvm::FastISel::CallLoweringInfo::RetZExt

Definition at line 73 of file FastISel.h.

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

◆ Symbol

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

Definition at line 87 of file FastISel.h.

Referenced by setCallee().


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