LLVM  10.0.0svn
Public Attributes | List of all members
llvm::CallLowering::CallLoweringInfo Struct Reference

#include "llvm/CodeGen/GlobalISel/CallLowering.h"

Collaboration diagram for llvm::CallLowering::CallLoweringInfo:
Collaboration graph
[legend]

Public Attributes

CallingConv::ID CallConv = CallingConv::C
 Calling convention to be used for the call. More...
 
MachineOperand Callee = MachineOperand::CreateImm(0)
 Destination of the call. More...
 
ArgInfo OrigRet
 Descriptor for the return type of the function. More...
 
SmallVector< ArgInfo, 8 > OrigArgs
 List of descriptors of the arguments passed to the function. More...
 
Register SwiftErrorVReg = 0
 Valid if the call has a swifterror inout parameter, and contains the vreg that the swifterror should be copied into after the call. More...
 
MDNodeKnownCallees = nullptr
 
bool IsMustTailCall = false
 True if the call must be tail call optimized. More...
 
bool IsTailCall = false
 True if the call passes all target-independent checks for tail call optimization. More...
 
bool LoweredTailCall = false
 True if the call was lowered as a tail call. More...
 
bool IsVarArg = false
 True if the call is to a vararg function. More...
 

Detailed Description

Definition at line 71 of file CallLowering.h.

Member Data Documentation

◆ CallConv

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

◆ Callee

MachineOperand llvm::CallLowering::CallLoweringInfo::Callee = MachineOperand::CreateImm(0)

◆ IsMustTailCall

bool llvm::CallLowering::CallLoweringInfo::IsMustTailCall = false

True if the call must be tail call optimized.

Definition at line 92 of file CallLowering.h.

Referenced by llvm::AArch64CallLowering::lowerCall(), and llvm::CallLowering::lowerCall().

◆ IsTailCall

bool llvm::CallLowering::CallLoweringInfo::IsTailCall = false

True if the call passes all target-independent checks for tail call optimization.

Definition at line 96 of file CallLowering.h.

Referenced by llvm::createMemLibcall(), llvm::AArch64CallLowering::isEligibleForTailCallOptimization(), and llvm::CallLowering::lowerCall().

◆ IsVarArg

bool llvm::CallLowering::CallLoweringInfo::IsVarArg = false

True if the call is to a vararg function.

Definition at line 103 of file CallLowering.h.

Referenced by llvm::AArch64CallLowering::isEligibleForTailCallOptimization(), and llvm::CallLowering::lowerCall().

◆ KnownCallees

MDNode* llvm::CallLowering::CallLoweringInfo::KnownCallees = nullptr

Definition at line 89 of file CallLowering.h.

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

◆ LoweredTailCall

bool llvm::CallLowering::CallLoweringInfo::LoweredTailCall = false

True if the call was lowered as a tail call.

This is consumed by the legalizer. This allows the legalizer to lower libcalls as tail calls.

Definition at line 100 of file CallLowering.h.

Referenced by llvm::createMemLibcall().

◆ OrigArgs

SmallVector<ArgInfo, 8> llvm::CallLowering::CallLoweringInfo::OrigArgs

◆ OrigRet

ArgInfo llvm::CallLowering::CallLoweringInfo::OrigRet

◆ SwiftErrorVReg

Register llvm::CallLowering::CallLoweringInfo::SwiftErrorVReg = 0

Valid if the call has a swifterror inout parameter, and contains the vreg that the swifterror should be copied into after the call.

Definition at line 87 of file CallLowering.h.

Referenced by llvm::AArch64CallLowering::isEligibleForTailCallOptimization(), llvm::AArch64CallLowering::lowerCall(), and llvm::CallLowering::lowerCall().


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