LLVM  13.0.0git
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, 32 > OrigArgs
 List of descriptors of the arguments passed to the function. More...
 
Register SwiftErrorVReg
 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...
 
bool CanLowerReturn = true
 True if the function's return value can be lowered to registers. More...
 
Register DemoteRegister
 VReg to hold the hidden sret parameter. More...
 
int DemoteStackIndex
 The stack index for sret demotion. More...
 

Detailed Description

Definition at line 101 of file CallLowering.h.

Member Data Documentation

◆ CallConv

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

Calling convention to be used for the call.

Definition at line 103 of file CallLowering.h.

◆ Callee

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

Destination of the call.

It should be either a register, globaladdress, or externalsymbol.

Definition at line 107 of file CallLowering.h.

◆ CanLowerReturn

bool llvm::CallLowering::CallLoweringInfo::CanLowerReturn = true

True if the function's return value can be lowered to registers.

Definition at line 136 of file CallLowering.h.

◆ DemoteRegister

Register llvm::CallLowering::CallLoweringInfo::DemoteRegister

VReg to hold the hidden sret parameter.

Definition at line 139 of file CallLowering.h.

◆ DemoteStackIndex

int llvm::CallLowering::CallLoweringInfo::DemoteStackIndex

The stack index for sret demotion.

Definition at line 142 of file CallLowering.h.

◆ IsMustTailCall

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

True if the call must be tail call optimized.

Definition at line 122 of file CallLowering.h.

◆ IsTailCall

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

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

Definition at line 126 of file CallLowering.h.

◆ IsVarArg

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

True if the call is to a vararg function.

Definition at line 133 of file CallLowering.h.

◆ KnownCallees

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

Definition at line 119 of file CallLowering.h.

◆ 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 130 of file CallLowering.h.

◆ OrigArgs

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

List of descriptors of the arguments passed to the function.

Definition at line 113 of file CallLowering.h.

◆ OrigRet

ArgInfo llvm::CallLowering::CallLoweringInfo::OrigRet

Descriptor for the return type of the function.

Definition at line 110 of file CallLowering.h.

◆ SwiftErrorVReg

Register llvm::CallLowering::CallLoweringInfo::SwiftErrorVReg

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 117 of file CallLowering.h.


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