struct TargetLowering::CallLoweringInfo

Declaration

struct TargetLowering::CallLoweringInfo { /* full declaration omitted */ };

Description

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.

Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4020

Member Variables

public llvm::SDValue Chain
public llvm::Type* RetTy = nullptr
public bool RetSExt
public bool RetZExt
public bool IsVarArg
public bool IsInReg
public bool DoesNotReturn
public bool IsReturnValueUsed
public bool IsConvergent
public bool IsPatchPoint
public bool IsPreallocated
public bool NoMerge
public bool IsTailCall = false
public bool IsPostTypeLegalization = false
public unsigned int NumFixedArgs = -1
public CallingConv::ID CallConv = CallingConv::C
public llvm::SDValue Callee
public llvm::TargetLoweringBase::ArgListTy Args
public llvm::SelectionDAG& DAG
public llvm::SDLoc DL
public const llvm::CallBase* CB = nullptr
public SmallVector<ISD::OutputArg, 32> Outs
public SmallVector<llvm::SDValue, 32> OutVals
public SmallVector<ISD::InputArg, 32> Ins
public SmallVector<llvm::SDValue, 4> InVals

Method Overview

  • public CallLoweringInfo(llvm::SelectionDAG & DAG)
  • public llvm::TargetLoweringBase::ArgListTy & getArgs()
  • public llvm::TargetLowering::CallLoweringInfo & setCallee(CallingConv::ID CC, llvm::Type * ResultType, llvm::SDValue Target, llvm::TargetLoweringBase::ArgListTy && ArgsList)
  • public llvm::TargetLowering::CallLoweringInfo & setCallee(llvm::Type * ResultType, llvm::FunctionType * FTy, llvm::SDValue Target, llvm::TargetLoweringBase::ArgListTy && ArgsList, const llvm::CallBase & Call)
  • public llvm::TargetLowering::CallLoweringInfo & setChain(llvm::SDValue InChain)
  • public llvm::TargetLowering::CallLoweringInfo & setConvergent(bool Value = true)
  • public llvm::TargetLowering::CallLoweringInfo & setDebugLoc(const llvm::SDLoc & dl)
  • public llvm::TargetLowering::CallLoweringInfo & setDiscardResult(bool Value = true)
  • public llvm::TargetLowering::CallLoweringInfo & setInRegister(bool Value = true)
  • public llvm::TargetLowering::CallLoweringInfo & setIsPatchPoint(bool Value = true)
  • public llvm::TargetLowering::CallLoweringInfo & setIsPostTypeLegalization(bool Value = true)
  • public llvm::TargetLowering::CallLoweringInfo & setIsPreallocated(bool Value = true)
  • public llvm::TargetLowering::CallLoweringInfo & setLibCallee(CallingConv::ID CC, llvm::Type * ResultType, llvm::SDValue Target, llvm::TargetLoweringBase::ArgListTy && ArgsList)
  • public llvm::TargetLowering::CallLoweringInfo & setNoReturn(bool Value = true)
  • public llvm::TargetLowering::CallLoweringInfo & setSExtResult(bool Value = true)
  • public llvm::TargetLowering::CallLoweringInfo & setTailCall(bool Value = true)
  • public llvm::TargetLowering::CallLoweringInfo & setVarArg(bool Value = true)
  • public llvm::TargetLowering::CallLoweringInfo & setZExtResult(bool Value = true)

Methods

CallLoweringInfo(llvm::SelectionDAG& DAG)

Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4053

Parameters

llvm::SelectionDAG& DAG

llvm::TargetLoweringBase::ArgListTy& getArgs()

Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4174

llvm::TargetLowering::CallLoweringInfo& setCallee(
    CallingConv::ID CC,
    llvm::Type* ResultType,
    llvm::SDValue Target,
    llvm::TargetLoweringBase::ArgListTy&&
        ArgsList)

Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4083

Parameters

CallingConv::ID CC
llvm::Type* ResultType
llvm::SDValue Target
llvm::TargetLoweringBase::ArgListTy&& ArgsList

llvm::TargetLowering::CallLoweringInfo& setCallee(
    llvm::Type* ResultType,
    llvm::FunctionType* FTy,
    llvm::SDValue Target,
    llvm::TargetLoweringBase::ArgListTy&&
        ArgsList,
    const llvm::CallBase& Call)

Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4093

Parameters

llvm::Type* ResultType
llvm::FunctionType* FTy
llvm::SDValue Target
llvm::TargetLoweringBase::ArgListTy&& ArgsList
const llvm::CallBase& Call

llvm::TargetLowering::CallLoweringInfo& setChain(
    llvm::SDValue InChain)

Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4064

Parameters

llvm::SDValue InChain

llvm::TargetLowering::CallLoweringInfo&
setConvergent(bool Value = true)

Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4144

Parameters

bool Value = true

llvm::TargetLowering::CallLoweringInfo&
setDebugLoc(const llvm::SDLoc& dl)

Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4059

Parameters

const llvm::SDLoc& dl

llvm::TargetLowering::CallLoweringInfo&
setDiscardResult(bool Value = true)

Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4139

Parameters

bool Value = true

llvm::TargetLowering::CallLoweringInfo&
setInRegister(bool Value = true)

Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4119

Parameters

bool Value = true

llvm::TargetLowering::CallLoweringInfo&
setIsPatchPoint(bool Value = true)

Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4159

Parameters

bool Value = true

llvm::TargetLowering::CallLoweringInfo&
setIsPostTypeLegalization(bool Value = true)

Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4169

Parameters

bool Value = true

llvm::TargetLowering::CallLoweringInfo&
setIsPreallocated(bool Value = true)

Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4164

Parameters

bool Value = true

llvm::TargetLowering::CallLoweringInfo&
setLibCallee(CallingConv::ID CC,
             llvm::Type* ResultType,
             llvm::SDValue Target,
             llvm::TargetLoweringBase::ArgListTy&&
                 ArgsList)

Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4070

Parameters

CallingConv::ID CC
llvm::Type* ResultType
llvm::SDValue Target
llvm::TargetLoweringBase::ArgListTy&& ArgsList

llvm::TargetLowering::CallLoweringInfo&
setNoReturn(bool Value = true)

Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4124

Parameters

bool Value = true

llvm::TargetLowering::CallLoweringInfo&
setSExtResult(bool Value = true)

Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4149

Parameters

bool Value = true

llvm::TargetLowering::CallLoweringInfo&
setTailCall(bool Value = true)

Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4134

Parameters

bool Value = true

llvm::TargetLowering::CallLoweringInfo& setVarArg(
    bool Value = true)

Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4129

Parameters

bool Value = true

llvm::TargetLowering::CallLoweringInfo&
setZExtResult(bool Value = true)

Declared at: llvm/include/llvm/CodeGen/TargetLowering.h:4154

Parameters

bool Value = true