|
LLVM
3.7.0
|
This structure contains all information that is necessary for lowering calls. More...
#include <TargetLowering.h>
Public Member Functions | |
| CallLoweringInfo (SelectionDAG &DAG) | |
| CallLoweringInfo & | setDebugLoc (SDLoc dl) |
| CallLoweringInfo & | setChain (SDValue InChain) |
| CallLoweringInfo & | setCallee (CallingConv::ID CC, Type *ResultType, SDValue Target, ArgListTy &&ArgsList, unsigned FixedArgs=-1) |
| CallLoweringInfo & | setCallee (Type *ResultType, FunctionType *FTy, SDValue Target, ArgListTy &&ArgsList, ImmutableCallSite &Call) |
| CallLoweringInfo & | setInRegister (bool Value=true) |
| CallLoweringInfo & | setNoReturn (bool Value=true) |
| CallLoweringInfo & | setVarArg (bool Value=true) |
| CallLoweringInfo & | setTailCall (bool Value=true) |
| CallLoweringInfo & | setDiscardResult (bool Value=true) |
| CallLoweringInfo & | setSExtResult (bool Value=true) |
| CallLoweringInfo & | setZExtResult (bool Value=true) |
| CallLoweringInfo & | setIsPatchPoint (bool Value=true) |
| ArgListTy & | getArgs () |
Public Attributes | |
| SDValue | Chain |
| Type * | RetTy |
| bool | RetSExt: 1 |
| bool | RetZExt: 1 |
| bool | IsVarArg: 1 |
| bool | IsInReg: 1 |
| bool | DoesNotReturn: 1 |
| bool | IsReturnValueUsed: 1 |
| bool | IsTailCall |
| unsigned | NumFixedArgs |
| CallingConv::ID | CallConv |
| SDValue | Callee |
| ArgListTy | Args |
| SelectionDAG & | DAG |
| SDLoc | DL |
| ImmutableCallSite * | CS |
| bool | IsPatchPoint |
| SmallVector< ISD::OutputArg, 32 > | Outs |
| SmallVector< SDValue, 32 > | OutVals |
| SmallVector< ISD::InputArg, 32 > | Ins |
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 2298 of file TargetLowering.h.
|
inline |
Definition at line 2324 of file TargetLowering.h.
|
inline |
Definition at line 2415 of file TargetLowering.h.
References Args.
Referenced by llvm::NVPTXTargetLowering::LowerCall(), and llvm::TargetLowering::LowerCallTo().
|
inline |
Definition at line 2340 of file TargetLowering.h.
References Args, CallConv, Callee, NumFixedArgs, and RetTy.
Referenced by llvm::ARMSelectionDAGInfo::EmitSpecializedLibcall(), llvm::XCoreSelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::AArch64SelectionDAGInfo::EmitTargetCodeForMemset(), llvm::X86SelectionDAGInfo::EmitTargetCodeForMemset(), llvm::SelectionDAG::getMemcpy(), llvm::SelectionDAG::getMemmove(), llvm::SelectionDAG::getMemset(), llvm::SelectionDAGBuilder::lowerCallOperands(), llvm::SelectionDAGBuilder::LowerCallTo(), llvm::SparcTargetLowering::LowerF128Compare(), and llvm::SparcTargetLowering::LowerF128Op().
|
inline |
Definition at line 2352 of file TargetLowering.h.
References Args, llvm::Call, CallConv, Callee, CS, llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::doesNotReturn(), DoesNotReturn, llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getCallingConv(), llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getInstruction(), llvm::FunctionType::getNumParams(), llvm::Attribute::InReg, IsInReg, IsReturnValueUsed, llvm::FunctionType::isVarArg(), IsVarArg, NumFixedArgs, llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::paramHasAttr(), RetSExt, RetTy, RetZExt, llvm::Attribute::SExt, llvm::Value::use_empty(), and llvm::Attribute::ZExt.
|
inline |
Definition at line 2335 of file TargetLowering.h.
References Chain.
Referenced by llvm::ARMSelectionDAGInfo::EmitSpecializedLibcall(), llvm::XCoreSelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::AArch64SelectionDAGInfo::EmitTargetCodeForMemset(), llvm::X86SelectionDAGInfo::EmitTargetCodeForMemset(), llvm::SelectionDAG::getMemcpy(), llvm::SelectionDAG::getMemmove(), llvm::SelectionDAG::getMemset(), llvm::SelectionDAGBuilder::lowerCallOperands(), llvm::SelectionDAGBuilder::LowerCallTo(), llvm::SparcTargetLowering::LowerF128Compare(), llvm::SparcTargetLowering::LowerF128Op(), LowerFSINCOS(), and llvm::TargetLowering::makeLibCall().
|
inline |
Definition at line 2330 of file TargetLowering.h.
References DL.
Referenced by llvm::ARMSelectionDAGInfo::EmitSpecializedLibcall(), llvm::XCoreSelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::AArch64SelectionDAGInfo::EmitTargetCodeForMemset(), llvm::X86SelectionDAGInfo::EmitTargetCodeForMemset(), llvm::SelectionDAG::getMemcpy(), llvm::SelectionDAG::getMemmove(), llvm::SelectionDAG::getMemset(), llvm::SelectionDAGBuilder::lowerCallOperands(), llvm::SelectionDAGBuilder::LowerCallTo(), llvm::SparcTargetLowering::LowerF128Compare(), llvm::SparcTargetLowering::LowerF128Op(), LowerFSINCOS(), and llvm::TargetLowering::makeLibCall().
|
inline |
Definition at line 2395 of file TargetLowering.h.
References IsReturnValueUsed.
Referenced by llvm::TargetLowering::makeLibCall().
|
inline |
Definition at line 2375 of file TargetLowering.h.
References IsInReg.
|
inline |
Definition at line 2410 of file TargetLowering.h.
References IsPatchPoint.
|
inline |
Definition at line 2380 of file TargetLowering.h.
References DoesNotReturn.
|
inline |
Definition at line 2400 of file TargetLowering.h.
References RetSExt.
Referenced by llvm::TargetLowering::makeLibCall().
|
inline |
Definition at line 2390 of file TargetLowering.h.
References IsTailCall.
Referenced by llvm::SelectionDAG::getMemcpy(), llvm::SelectionDAG::getMemmove(), llvm::SelectionDAG::getMemset(), and llvm::SelectionDAGBuilder::LowerCallTo().
|
inline |
Definition at line 2385 of file TargetLowering.h.
References IsVarArg.
|
inline |
Definition at line 2405 of file TargetLowering.h.
References RetZExt.
Referenced by llvm::TargetLowering::makeLibCall().
| ArgListTy llvm::TargetLowering::CallLoweringInfo::Args |
Definition at line 2315 of file TargetLowering.h.
Referenced by getArgs(), and setCallee().
| CallingConv::ID llvm::TargetLowering::CallLoweringInfo::CallConv |
Definition at line 2313 of file TargetLowering.h.
Referenced by llvm::MipsTargetLowering::getOpndList(), llvm::HexagonTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::TargetLowering::LowerCallTo(), and setCallee().
| SDValue llvm::TargetLowering::CallLoweringInfo::Callee |
Definition at line 2314 of file TargetLowering.h.
Referenced by llvm::MipsTargetLowering::getOpndList(), llvm::HexagonTargetLowering::LowerCall(), llvm::AMDGPUTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), and setCallee().
| SDValue llvm::TargetLowering::CallLoweringInfo::Chain |
Definition at line 2299 of file TargetLowering.h.
Referenced by llvm::HexagonTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::TargetLowering::LowerCallTo(), and setChain().
| ImmutableCallSite* llvm::TargetLowering::CallLoweringInfo::CS |
Definition at line 2318 of file TargetLowering.h.
Referenced by llvm::NVPTXTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::TargetLowering::LowerCallTo(), and setCallee().
| SelectionDAG& llvm::TargetLowering::CallLoweringInfo::DAG |
Definition at line 2316 of file TargetLowering.h.
Referenced by llvm::MipsTargetLowering::getOpndList(), llvm::HexagonTargetLowering::LowerCall(), llvm::AMDGPUTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), and llvm::TargetLowering::LowerCallTo().
| SDLoc llvm::TargetLowering::CallLoweringInfo::DL |
Definition at line 2317 of file TargetLowering.h.
Referenced by llvm::MipsTargetLowering::getOpndList(), llvm::HexagonTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::TargetLowering::LowerCallTo(), and setDebugLoc().
| bool llvm::TargetLowering::CallLoweringInfo::DoesNotReturn |
Definition at line 2305 of file TargetLowering.h.
Referenced by llvm::HexagonTargetLowering::LowerCall(), setCallee(), and setNoReturn().
| SmallVector<ISD::InputArg, 32> llvm::TargetLowering::CallLoweringInfo::Ins |
Definition at line 2322 of file TargetLowering.h.
Referenced by llvm::HexagonTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), and llvm::TargetLowering::LowerCallTo().
| bool llvm::TargetLowering::CallLoweringInfo::IsInReg |
Definition at line 2304 of file TargetLowering.h.
Referenced by getReturnAttrs(), llvm::TargetLowering::LowerCallTo(), setCallee(), and setInRegister().
| bool llvm::TargetLowering::CallLoweringInfo::IsPatchPoint |
Definition at line 2319 of file TargetLowering.h.
Referenced by setIsPatchPoint().
| bool llvm::TargetLowering::CallLoweringInfo::IsReturnValueUsed |
Definition at line 2306 of file TargetLowering.h.
Referenced by llvm::TargetLowering::LowerCallTo(), setCallee(), and setDiscardResult().
| bool llvm::TargetLowering::CallLoweringInfo::IsTailCall |
Definition at line 2310 of file TargetLowering.h.
Referenced by llvm::HexagonTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::TargetLowering::LowerCallTo(), and setTailCall().
| bool llvm::TargetLowering::CallLoweringInfo::IsVarArg |
Definition at line 2303 of file TargetLowering.h.
Referenced by llvm::HexagonTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::TargetLowering::LowerCallTo(), setCallee(), and setVarArg().
| unsigned llvm::TargetLowering::CallLoweringInfo::NumFixedArgs |
Definition at line 2312 of file TargetLowering.h.
Referenced by llvm::TargetLowering::LowerCallTo(), and setCallee().
| SmallVector<ISD::OutputArg, 32> llvm::TargetLowering::CallLoweringInfo::Outs |
Definition at line 2320 of file TargetLowering.h.
Referenced by llvm::HexagonTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), and llvm::TargetLowering::LowerCallTo().
| SmallVector<SDValue, 32> llvm::TargetLowering::CallLoweringInfo::OutVals |
Definition at line 2321 of file TargetLowering.h.
Referenced by llvm::HexagonTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), and llvm::TargetLowering::LowerCallTo().
| bool llvm::TargetLowering::CallLoweringInfo::RetSExt |
Definition at line 2301 of file TargetLowering.h.
Referenced by getReturnAttrs(), llvm::TargetLowering::LowerCallTo(), setCallee(), and setSExtResult().
| Type* llvm::TargetLowering::CallLoweringInfo::RetTy |
Definition at line 2300 of file TargetLowering.h.
Referenced by getReturnAttrs(), llvm::NVPTXTargetLowering::LowerCall(), llvm::TargetLowering::LowerCallTo(), and setCallee().
| bool llvm::TargetLowering::CallLoweringInfo::RetZExt |
Definition at line 2302 of file TargetLowering.h.
Referenced by getReturnAttrs(), llvm::TargetLowering::LowerCallTo(), setCallee(), and setZExtResult().
1.8.6