LLVM 19.0.0git
Public Attributes | List of all members
llvm::CallLowering::CallLoweringInfo Struct Reference

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

Public Attributes

CallingConv::ID CallConv = CallingConv::C
 Calling convention to be used for the call.
 
MachineOperand Callee = MachineOperand::CreateImm(0)
 Destination of the call.
 
ArgInfo OrigRet
 Descriptor for the return type of the function.
 
SmallVector< ArgInfo, 32 > OrigArgs
 List of descriptors of the arguments passed to the function.
 
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.
 
Register ConvergenceCtrlToken
 Valid if the call is a controlled convergent operation.
 
const CallBaseCB = nullptr
 Original IR callsite corresponding to this call, if available.
 
MDNodeKnownCallees = nullptr
 
bool IsMustTailCall = false
 True if the call must be tail call optimized.
 
bool IsTailCall = false
 True if the call passes all target-independent checks for tail call optimization.
 
bool LoweredTailCall = false
 True if the call was lowered as a tail call.
 
bool IsVarArg = false
 True if the call is to a vararg function.
 
bool CanLowerReturn = true
 True if the function's return value can be lowered to registers.
 
Register DemoteRegister
 VReg to hold the hidden sret parameter.
 
int DemoteStackIndex
 The stack index for sret demotion.
 
const ConstantIntCFIType = nullptr
 Expected type identifier for indirect calls with a CFI check.
 
bool IsConvergent = true
 True if this call results in convergent operations.
 

Detailed Description

Definition at line 102 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 104 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 108 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 143 of file CallLowering.h.

◆ CB

const CallBase* llvm::CallLowering::CallLoweringInfo::CB = nullptr

Original IR callsite corresponding to this call, if available.

Definition at line 124 of file CallLowering.h.

◆ CFIType

const ConstantInt* llvm::CallLowering::CallLoweringInfo::CFIType = nullptr

Expected type identifier for indirect calls with a CFI check.

Definition at line 152 of file CallLowering.h.

◆ ConvergenceCtrlToken

Register llvm::CallLowering::CallLoweringInfo::ConvergenceCtrlToken

Valid if the call is a controlled convergent operation.

Definition at line 121 of file CallLowering.h.

◆ DemoteRegister

Register llvm::CallLowering::CallLoweringInfo::DemoteRegister

VReg to hold the hidden sret parameter.

Definition at line 146 of file CallLowering.h.

◆ DemoteStackIndex

int llvm::CallLowering::CallLoweringInfo::DemoteStackIndex

The stack index for sret demotion.

Definition at line 149 of file CallLowering.h.

◆ IsConvergent

bool llvm::CallLowering::CallLoweringInfo::IsConvergent = true

True if this call results in convergent operations.

Definition at line 155 of file CallLowering.h.

◆ IsMustTailCall

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

True if the call must be tail call optimized.

Definition at line 129 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 133 of file CallLowering.h.

◆ IsVarArg

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

True if the call is to a vararg function.

Definition at line 140 of file CallLowering.h.

◆ KnownCallees

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

Definition at line 126 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 137 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 114 of file CallLowering.h.

◆ OrigRet

ArgInfo llvm::CallLowering::CallLoweringInfo::OrigRet

Descriptor for the return type of the function.

Definition at line 111 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 118 of file CallLowering.h.


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