LLVM
8.0.1
|
#include "llvm/CodeGen/FastISel.h"
Public Member Functions | |
CallLoweringInfo () | |
CallLoweringInfo & | setCallee (Type *ResultTy, FunctionType *FuncTy, const Value *Target, ArgListTy &&ArgsList, ImmutableCallSite &Call) |
CallLoweringInfo & | setCallee (Type *ResultTy, FunctionType *FuncTy, MCSymbol *Target, ArgListTy &&ArgsList, ImmutableCallSite &Call, unsigned FixedArgs=~0U) |
CallLoweringInfo & | setCallee (CallingConv::ID CC, Type *ResultTy, const Value *Target, ArgListTy &&ArgsList, unsigned FixedArgs=~0U) |
CallLoweringInfo & | setCallee (const DataLayout &DL, MCContext &Ctx, CallingConv::ID CC, Type *ResultTy, StringRef Target, ArgListTy &&ArgsList, unsigned FixedArgs=~0U) |
CallLoweringInfo & | setCallee (CallingConv::ID CC, Type *ResultTy, MCSymbol *Target, ArgListTy &&ArgsList, unsigned FixedArgs=~0U) |
CallLoweringInfo & | setTailCall (bool Value=true) |
CallLoweringInfo & | setIsPatchPoint (bool Value=true) |
ArgListTy & | getArgs () |
void | clearOuts () |
void | clearIns () |
Public Attributes | |
Type * | RetTy = 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 Value * | Callee = nullptr |
MCSymbol * | Symbol = nullptr |
ArgListTy | Args |
ImmutableCallSite * | CS = nullptr |
MachineInstr * | Call = 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 |
Definition at line 71 of file FastISel.h.
|
inline |
Definition at line 101 of file FastISel.h.
|
inline |
Definition at line 196 of file FastISel.h.
References llvm::SmallVectorImpl< T >::clear().
Referenced by llvm::FastISel::lowerCallTo().
|
inline |
Definition at line 190 of file FastISel.h.
References llvm::SmallVectorImpl< T >::clear().
Referenced by llvm::FastISel::lowerCallTo().
|
inline |
Definition at line 188 of file FastISel.h.
References Args.
Referenced by llvm::FastISel::lowerCallTo().
|
inline |
Definition at line 105 of file FastISel.h.
References Call, DoesNotReturn, llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::doesNotReturn(), llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getCallingConv(), llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getInstruction(), llvm::FunctionType::getNumParams(), llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::hasRetAttr(), llvm::Attribute::InReg, IsInReg, IsReturnValueUsed, IsVarArg, llvm::FunctionType::isVarArg(), RetSExt, RetZExt, llvm::Attribute::SExt, llvm::Value::use_empty(), and llvm::Attribute::ZExt.
Referenced by llvm::FastISel::lowerCall(), llvm::FastISel::lowerCallTo(), llvm::FastISel::selectStackmap(), and setCallee().
|
inline |
Definition at line 127 of file FastISel.h.
References Call, DoesNotReturn, llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::doesNotReturn(), llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getCalledValue(), llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getCallingConv(), llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getInstruction(), llvm::FunctionType::getNumParams(), llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::hasRetAttr(), llvm::Attribute::InReg, IsInReg, IsReturnValueUsed, IsVarArg, llvm::FunctionType::isVarArg(), RetSExt, RetZExt, llvm::Attribute::SExt, llvm::Value::use_empty(), and llvm::Attribute::ZExt.
|
inline |
Definition at line 151 of file FastISel.h.
References llvm::FastISel::DL, and setCallee().
FastISel::CallLoweringInfo & FastISel::CallLoweringInfo::setCallee | ( | const DataLayout & | DL, |
MCContext & | Ctx, | ||
CallingConv::ID | CC, | ||
Type * | ResultTy, | ||
StringRef | Target, | ||
ArgListTy && | ArgsList, | ||
unsigned | FixedArgs = ~0U |
||
) |
Definition at line 895 of file FastISel.cpp.
References llvm::Mangler::getNameWithPrefix(), and llvm::MCContext::getOrCreateSymbol().
|
inline |
Definition at line 167 of file FastISel.h.
|
inline |
Definition at line 183 of file FastISel.h.
References IsPatchPoint.
Referenced by llvm::FastISel::selectPatchpoint().
|
inline |
Definition at line 178 of file FastISel.h.
ArgListTy llvm::FastISel::CallLoweringInfo::Args |
Definition at line 89 of file FastISel.h.
Referenced by getArgs().
MachineInstr* llvm::FastISel::CallLoweringInfo::Call = nullptr |
Definition at line 91 of file FastISel.h.
Referenced by llvm::FastISel::lowerCallTo(), llvm::FastISel::selectPatchpoint(), and setCallee().
CallingConv::ID llvm::FastISel::CallLoweringInfo::CallConv = CallingConv::C |
Definition at line 86 of file FastISel.h.
Referenced by llvm::FastISel::lowerCallTo().
Definition at line 87 of file FastISel.h.
Referenced by llvm::FastISel::isCommutativeIntrinsic().
ImmutableCallSite* llvm::FastISel::CallLoweringInfo::CS = nullptr |
Definition at line 90 of file FastISel.h.
Referenced by llvm::FastISel::lowerCallTo().
bool llvm::FastISel::CallLoweringInfo::DoesNotReturn |
Definition at line 77 of file FastISel.h.
Referenced by setCallee().
SmallVector<unsigned, 4> llvm::FastISel::CallLoweringInfo::InRegs |
Definition at line 99 of file FastISel.h.
Referenced by llvm::FastISel::lowerCallTo(), and llvm::FastISel::selectPatchpoint().
SmallVector<ISD::InputArg, 4> llvm::FastISel::CallLoweringInfo::Ins |
Definition at line 98 of file FastISel.h.
Referenced by llvm::FastISel::lowerCallTo().
bool llvm::FastISel::CallLoweringInfo::IsInReg |
Definition at line 76 of file FastISel.h.
Referenced by getReturnAttrs(), llvm::FastISel::lowerCallTo(), and setCallee().
bool llvm::FastISel::CallLoweringInfo::IsPatchPoint |
Definition at line 79 of file FastISel.h.
Referenced by setIsPatchPoint().
bool llvm::FastISel::CallLoweringInfo::IsReturnValueUsed |
Definition at line 78 of file FastISel.h.
Referenced by llvm::FastISel::lowerCallTo(), and setCallee().
Definition at line 83 of file FastISel.h.
bool llvm::FastISel::CallLoweringInfo::IsVarArg |
Definition at line 75 of file FastISel.h.
Referenced by llvm::FastISel::lowerCallTo(), and setCallee().
unsigned llvm::FastISel::CallLoweringInfo::NumFixedArgs = -1 |
Definition at line 85 of file FastISel.h.
unsigned llvm::FastISel::CallLoweringInfo::NumResultRegs = 0 |
Definition at line 93 of file FastISel.h.
Referenced by llvm::FastISel::lowerCallTo(), and llvm::FastISel::selectPatchpoint().
SmallVector<ISD::ArgFlagsTy, 16> llvm::FastISel::CallLoweringInfo::OutFlags |
Definition at line 96 of file FastISel.h.
Referenced by llvm::FastISel::lowerCallTo().
SmallVector<unsigned, 16> llvm::FastISel::CallLoweringInfo::OutRegs |
Definition at line 97 of file FastISel.h.
Referenced by llvm::FastISel::selectPatchpoint().
SmallVector<Value *, 16> llvm::FastISel::CallLoweringInfo::OutVals |
Definition at line 95 of file FastISel.h.
Referenced by llvm::FastISel::lowerCallTo().
unsigned llvm::FastISel::CallLoweringInfo::ResultReg = 0 |
Definition at line 92 of file FastISel.h.
Referenced by llvm::FastISel::lowerCallTo(), and llvm::FastISel::selectPatchpoint().
bool llvm::FastISel::CallLoweringInfo::RetSExt |
Definition at line 73 of file FastISel.h.
Referenced by getReturnAttrs(), llvm::FastISel::lowerCallTo(), and setCallee().
Type* llvm::FastISel::CallLoweringInfo::RetTy = nullptr |
Definition at line 72 of file FastISel.h.
Referenced by getReturnAttrs(), and llvm::FastISel::lowerCallTo().
bool llvm::FastISel::CallLoweringInfo::RetZExt |
Definition at line 74 of file FastISel.h.
Referenced by getReturnAttrs(), llvm::FastISel::lowerCallTo(), and setCallee().
MCSymbol* llvm::FastISel::CallLoweringInfo::Symbol = nullptr |
Definition at line 88 of file FastISel.h.
Referenced by llvm::FastISel::fastMaterializeFloatZero().