LLVM 22.0.0git
llvm::TargetLoweringBase::ArgListEntry Class Reference

#include "llvm/CodeGen/TargetLowering.h"

Public Member Functions

 ArgListEntry (Value *Val, SDValue Node, Type *Ty)
 ArgListEntry (Value *Val, SDValue Node=SDValue())
 ArgListEntry (SDValue Node, Type *Ty)
LLVM_ABI void setAttributes (const CallBase *Call, unsigned ArgIdx)
 Set CallLoweringInfo attribute flags based on a call instruction and called function attributes.

Public Attributes

ValueVal
SDValue Node
TypeOrigTy
 Original unlegalized argument type.
TypeTy
 Same as OrigTy, or partially legalized for soft float libcalls.
bool IsSExt: 1
bool IsZExt: 1
bool IsNoExt: 1
bool IsInReg: 1
bool IsSRet: 1
bool IsNest: 1
bool IsByVal: 1
bool IsByRef: 1
bool IsInAlloca: 1
bool IsPreallocated: 1
bool IsReturned: 1
bool IsSwiftSelf: 1
bool IsSwiftAsync: 1
bool IsSwiftError: 1
bool IsCFGuardTarget: 1
MaybeAlign Alignment = std::nullopt
TypeIndirectType = nullptr

Detailed Description

Definition at line 301 of file TargetLowering.h.

Constructor & Destructor Documentation

◆ ArgListEntry() [1/3]

llvm::TargetLoweringBase::ArgListEntry::ArgListEntry ( Value * Val,
SDValue Node,
Type * Ty )
inline

◆ ArgListEntry() [2/3]

llvm::TargetLoweringBase::ArgListEntry::ArgListEntry ( Value * Val,
SDValue Node = SDValue() )
inlineexplicit

Definition at line 334 of file TargetLowering.h.

References ArgListEntry(), getType(), Node, and Val.

◆ ArgListEntry() [3/3]

llvm::TargetLoweringBase::ArgListEntry::ArgListEntry ( SDValue Node,
Type * Ty )
inline

Definition at line 337 of file TargetLowering.h.

References ArgListEntry(), Node, and Ty.

Member Function Documentation

◆ setAttributes()

void TargetLoweringBase::ArgListEntry::setAttributes ( const CallBase * Call,
unsigned ArgIdx )

Set CallLoweringInfo attribute flags based on a call instruction and called function attributes.

Definition at line 119 of file TargetLowering.cpp.

References Alignment, assert(), Call, IndirectType, IsByVal, IsInAlloca, IsInReg, IsNest, IsNoExt, IsPreallocated, IsReturned, IsSExt, IsSRet, IsSwiftAsync, IsSwiftError, IsSwiftSelf, and IsZExt.

Member Data Documentation

◆ Alignment

MaybeAlign llvm::TargetLoweringBase::ArgListEntry::Alignment = std::nullopt

Definition at line 324 of file TargetLowering.h.

Referenced by setAttributes().

◆ IndirectType

Type* llvm::TargetLoweringBase::ArgListEntry::IndirectType = nullptr

Definition at line 325 of file TargetLowering.h.

Referenced by setAttributes().

◆ IsByRef

bool llvm::TargetLoweringBase::ArgListEntry::IsByRef

Definition at line 316 of file TargetLowering.h.

Referenced by ArgListEntry().

◆ IsByVal

bool llvm::TargetLoweringBase::ArgListEntry::IsByVal

Definition at line 315 of file TargetLowering.h.

Referenced by ArgListEntry(), and setAttributes().

◆ IsCFGuardTarget

bool llvm::TargetLoweringBase::ArgListEntry::IsCFGuardTarget

Definition at line 323 of file TargetLowering.h.

Referenced by ArgListEntry().

◆ IsInAlloca

bool llvm::TargetLoweringBase::ArgListEntry::IsInAlloca

Definition at line 317 of file TargetLowering.h.

Referenced by ArgListEntry(), and setAttributes().

◆ IsInReg

bool llvm::TargetLoweringBase::ArgListEntry::IsInReg

Definition at line 312 of file TargetLowering.h.

Referenced by ArgListEntry(), and setAttributes().

◆ IsNest

bool llvm::TargetLoweringBase::ArgListEntry::IsNest

Definition at line 314 of file TargetLowering.h.

Referenced by ArgListEntry(), and setAttributes().

◆ IsNoExt

bool llvm::TargetLoweringBase::ArgListEntry::IsNoExt

Definition at line 311 of file TargetLowering.h.

Referenced by ArgListEntry(), and setAttributes().

◆ IsPreallocated

bool llvm::TargetLoweringBase::ArgListEntry::IsPreallocated

Definition at line 318 of file TargetLowering.h.

Referenced by ArgListEntry(), and setAttributes().

◆ IsReturned

bool llvm::TargetLoweringBase::ArgListEntry::IsReturned

Definition at line 319 of file TargetLowering.h.

Referenced by ArgListEntry(), and setAttributes().

◆ IsSExt

bool llvm::TargetLoweringBase::ArgListEntry::IsSExt

Definition at line 309 of file TargetLowering.h.

Referenced by ArgListEntry(), and setAttributes().

◆ IsSRet

bool llvm::TargetLoweringBase::ArgListEntry::IsSRet

Definition at line 313 of file TargetLowering.h.

Referenced by ArgListEntry(), and setAttributes().

◆ IsSwiftAsync

bool llvm::TargetLoweringBase::ArgListEntry::IsSwiftAsync

Definition at line 321 of file TargetLowering.h.

Referenced by ArgListEntry(), and setAttributes().

◆ IsSwiftError

bool llvm::TargetLoweringBase::ArgListEntry::IsSwiftError

Definition at line 322 of file TargetLowering.h.

Referenced by ArgListEntry(), and setAttributes().

◆ IsSwiftSelf

bool llvm::TargetLoweringBase::ArgListEntry::IsSwiftSelf

Definition at line 320 of file TargetLowering.h.

Referenced by ArgListEntry(), and setAttributes().

◆ IsZExt

bool llvm::TargetLoweringBase::ArgListEntry::IsZExt

Definition at line 310 of file TargetLowering.h.

Referenced by ArgListEntry(), and setAttributes().

◆ Node

SDValue llvm::TargetLoweringBase::ArgListEntry::Node

Definition at line 304 of file TargetLowering.h.

Referenced by ArgListEntry(), ArgListEntry(), and ArgListEntry().

◆ OrigTy

Type* llvm::TargetLoweringBase::ArgListEntry::OrigTy

Original unlegalized argument type.

Definition at line 306 of file TargetLowering.h.

Referenced by ArgListEntry().

◆ Ty

Type* llvm::TargetLoweringBase::ArgListEntry::Ty

Same as OrigTy, or partially legalized for soft float libcalls.

Definition at line 308 of file TargetLowering.h.

Referenced by ArgListEntry(), ArgListEntry(), and llvm::SITargetLowering::LowerCall().

◆ Val

Value* llvm::TargetLoweringBase::ArgListEntry::Val

Definition at line 303 of file TargetLowering.h.

Referenced by ArgListEntry(), and ArgListEntry().


The documentation for this class was generated from the following files: