|
LLVM
4.0.0
|
This structure contains all information that is necessary for lowering calls. More...
#include <TargetLowering.h>
Public Member Functions | |
| CallLoweringInfo (SelectionDAG &DAG) | |
| CallLoweringInfo & | setDebugLoc (const SDLoc &dl) |
| CallLoweringInfo & | setChain (SDValue InChain) |
| CallLoweringInfo & | setCallee (CallingConv::ID CC, Type *ResultType, SDValue Target, ArgListTy &&ArgsList) |
| 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 & | setConvergent (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 | IsConvergent: 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 |
| SmallVector< SDValue, 4 > | InVals |
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.
|
inline |
Definition at line 2595 of file TargetLowering.h.
|
inline |
Definition at line 2693 of file TargetLowering.h.
References Args.
Referenced by llvm::NVPTXTargetLowering::LowerCall(), and llvm::TargetLowering::LowerCallTo().
|
inline |
Definition at line 2612 of file TargetLowering.h.
References Args, CallConv, Callee, NumFixedArgs, RetTy, and Target.
Referenced by llvm::ARMSelectionDAGInfo::EmitSpecializedLibcall(), llvm::HexagonSelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::XCoreSelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::AArch64SelectionDAGInfo::EmitTargetCodeForMemset(), llvm::X86SelectionDAGInfo::EmitTargetCodeForMemset(), llvm::SelectionDAG::getMemcpy(), llvm::SelectionDAG::getMemmove(), llvm::SelectionDAG::getMemset(), llvm::SelectionDAGBuilder::LowerCallTo(), llvm::SparcTargetLowering::LowerF128Compare(), llvm::SparcTargetLowering::LowerF128Op(), LowerFPOWI(), llvm::TargetLowering::LowerToTLSEmulatedModel(), and llvm::SelectionDAGBuilder::populateCallLoweringInfo().
|
inline |
Definition at line 2622 of file TargetLowering.h.
References Args, llvm::Call, CallConv, Callee, CS, llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::doesNotReturn(), 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::ilist_node_with_parent< NodeTy, ParentTy, Options >::getNextNode(), llvm::FunctionType::getNumParams(), IsInReg, llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::isInvoke(), IsReturnValueUsed, llvm::FunctionType::isVarArg(), IsVarArg, NumFixedArgs, llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::paramHasAttr(), RetSExt, RetTy, RetZExt, Target, and llvm::Value::use_empty().
|
inline |
Definition at line 2607 of file TargetLowering.h.
References Chain.
Referenced by llvm::ARMSelectionDAGInfo::EmitSpecializedLibcall(), llvm::HexagonSelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::XCoreSelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::AArch64SelectionDAGInfo::EmitTargetCodeForMemset(), llvm::X86SelectionDAGInfo::EmitTargetCodeForMemset(), llvm::SelectionDAG::getMemcpy(), llvm::SelectionDAG::getMemmove(), llvm::SelectionDAG::getMemset(), llvm::SelectionDAGBuilder::LowerAsSTATEPOINT(), llvm::SelectionDAGBuilder::LowerCallTo(), llvm::SparcTargetLowering::LowerF128Compare(), llvm::SparcTargetLowering::LowerF128Op(), LowerFPOWI(), LowerFSINCOS(), llvm::SelectionDAGBuilder::lowerInvokable(), llvm::TargetLowering::LowerToTLSEmulatedModel(), llvm::TargetLowering::makeLibCall(), llvm::SelectionDAGBuilder::populateCallLoweringInfo(), and llvm::SelectionDAGBuilder::visitSPDescriptorParent().
|
inline |
Definition at line 2673 of file TargetLowering.h.
References IsConvergent.
Referenced by llvm::SelectionDAGBuilder::LowerCallTo().
|
inline |
Definition at line 2602 of file TargetLowering.h.
References DL.
Referenced by llvm::ARMSelectionDAGInfo::EmitSpecializedLibcall(), llvm::HexagonSelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::XCoreSelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::AArch64SelectionDAGInfo::EmitTargetCodeForMemset(), llvm::X86SelectionDAGInfo::EmitTargetCodeForMemset(), llvm::SelectionDAG::getMemcpy(), llvm::SelectionDAG::getMemmove(), llvm::SelectionDAG::getMemset(), llvm::SelectionDAGBuilder::LowerCallTo(), llvm::SparcTargetLowering::LowerF128Compare(), llvm::SparcTargetLowering::LowerF128Op(), LowerFPOWI(), LowerFSINCOS(), llvm::TargetLowering::LowerToTLSEmulatedModel(), llvm::TargetLowering::makeLibCall(), llvm::SelectionDAGBuilder::populateCallLoweringInfo(), and llvm::SelectionDAGBuilder::visitSPDescriptorParent().
|
inline |
Definition at line 2668 of file TargetLowering.h.
References IsReturnValueUsed.
Referenced by llvm::TargetLowering::makeLibCall().
|
inline |
Definition at line 2648 of file TargetLowering.h.
References IsInReg.
|
inline |
Definition at line 2688 of file TargetLowering.h.
References IsPatchPoint.
|
inline |
Definition at line 2653 of file TargetLowering.h.
References DoesNotReturn.
|
inline |
Definition at line 2678 of file TargetLowering.h.
References RetSExt.
Referenced by llvm::TargetLowering::makeLibCall().
|
inline |
Definition at line 2663 of file TargetLowering.h.
References IsTailCall.
Referenced by llvm::SelectionDAG::getMemcpy(), llvm::SelectionDAG::getMemmove(), llvm::SelectionDAG::getMemset(), llvm::SelectionDAGBuilder::LowerCallTo(), and LowerFPOWI().
|
inline |
Definition at line 2658 of file TargetLowering.h.
References IsVarArg.
|
inline |
Definition at line 2683 of file TargetLowering.h.
References RetZExt.
Referenced by llvm::TargetLowering::makeLibCall().
| ArgListTy llvm::TargetLowering::CallLoweringInfo::Args |
Definition at line 2585 of file TargetLowering.h.
Referenced by getArgs(), and setCallee().
| CallingConv::ID llvm::TargetLowering::CallLoweringInfo::CallConv |
Definition at line 2583 of file TargetLowering.h.
Referenced by llvm::MipsTargetLowering::getOpndList(), llvm::SelectionDAGBuilder::LowerAsSTATEPOINT(), 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 2584 of file TargetLowering.h.
Referenced by llvm::getFunctionName(), llvm::MipsTargetLowering::getOpndList(), llvm::AMDGPUTargetLowering::LowerCall(), llvm::HexagonTargetLowering::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 2568 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 2588 of file TargetLowering.h.
Referenced by llvm::NVPTXTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::TargetLowering::LowerCallTo(), llvm::SelectionDAGBuilder::lowerInvokable(), and setCallee().
| SelectionDAG& llvm::TargetLowering::CallLoweringInfo::DAG |
Definition at line 2586 of file TargetLowering.h.
Referenced by llvm::MipsTargetLowering::getOpndList(), llvm::AMDGPUTargetLowering::LowerCall(), llvm::HexagonTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::SelectionDAGBuilder::LowerCallTo(), and llvm::TargetLowering::LowerCallTo().
| SDLoc llvm::TargetLowering::CallLoweringInfo::DL |
Definition at line 2587 of file TargetLowering.h.
Referenced by llvm::MipsTargetLowering::getOpndList(), llvm::AMDGPUTargetLowering::LowerCall(), llvm::HexagonTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::SelectionDAGBuilder::LowerCallTo(), llvm::TargetLowering::LowerCallTo(), and setDebugLoc().
| bool llvm::TargetLowering::CallLoweringInfo::DoesNotReturn |
Definition at line 2574 of file TargetLowering.h.
Referenced by llvm::HexagonTargetLowering::LowerCall(), setCallee(), and setNoReturn().
| SmallVector<ISD::InputArg, 32> llvm::TargetLowering::CallLoweringInfo::Ins |
Definition at line 2592 of file TargetLowering.h.
Referenced by llvm::AMDGPUTargetLowering::LowerCall(), llvm::HexagonTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), and llvm::TargetLowering::LowerCallTo().
| SmallVector<SDValue, 4> llvm::TargetLowering::CallLoweringInfo::InVals |
Definition at line 2593 of file TargetLowering.h.
Referenced by llvm::SelectionDAGBuilder::LowerCallTo(), and llvm::TargetLowering::LowerCallTo().
| 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 |
Definition at line 2573 of file TargetLowering.h.
Referenced by getReturnAttrs(), llvm::TargetLowering::LowerCallTo(), setCallee(), and setInRegister().
| bool llvm::TargetLowering::CallLoweringInfo::IsPatchPoint |
Definition at line 2589 of file TargetLowering.h.
Referenced by setIsPatchPoint().
| bool llvm::TargetLowering::CallLoweringInfo::IsReturnValueUsed |
Definition at line 2575 of file TargetLowering.h.
Referenced by llvm::TargetLowering::LowerCallTo(), setCallee(), and setDiscardResult().
| bool llvm::TargetLowering::CallLoweringInfo::IsTailCall |
Definition at line 2580 of file TargetLowering.h.
Referenced by llvm::AMDGPUTargetLowering::LowerCall(), llvm::HexagonTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::NVPTXTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::TargetLowering::LowerCallTo(), llvm::SelectionDAGBuilder::lowerInvokable(), and setTailCall().
| bool llvm::TargetLowering::CallLoweringInfo::IsVarArg |
Definition at line 2572 of file TargetLowering.h.
Referenced by llvm::HexagonTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::SelectionDAGBuilder::LowerCallSiteWithDeoptBundleImpl(), llvm::TargetLowering::LowerCallTo(), setCallee(), and setVarArg().
| 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 |
Definition at line 2590 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 2591 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 2570 of file TargetLowering.h.
Referenced by getReturnAttrs(), llvm::TargetLowering::LowerCallTo(), setCallee(), and setSExtResult().
| Type* llvm::TargetLowering::CallLoweringInfo::RetTy |
Definition at line 2569 of file TargetLowering.h.
Referenced by getReturnAttrs(), llvm::NVPTXTargetLowering::LowerCall(), lowerCallFromStatepointLoweringInfo(), llvm::TargetLowering::LowerCallTo(), and setCallee().
| bool llvm::TargetLowering::CallLoweringInfo::RetZExt |
Definition at line 2571 of file TargetLowering.h.
Referenced by getReturnAttrs(), llvm::TargetLowering::LowerCallTo(), setCallee(), and setZExtResult().
1.8.6