clang 22.0.0git
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
cir::ABIArgInfo Class Reference

#include "clang/CIR/ABIArgInfo.h"

Public Types

enum  Kind : uint8_t { Direct , Ignore }
 

Public Member Functions

 ABIArgInfo (Kind k=Direct)
 
Kind getKind () const
 
bool isDirect () const
 
bool isIgnore () const
 
bool canHaveCoerceToType () const
 
unsigned getDirectOffset () const
 
mlir::Type getCoerceToType () const
 
void setCoerceToType (mlir::Type ty)
 

Static Public Member Functions

static ABIArgInfo getDirect (mlir::Type ty=nullptr)
 
static ABIArgInfo getIgnore ()
 

Detailed Description

Definition at line 24 of file ABIArgInfo.h.

Member Enumeration Documentation

◆ Kind

enum cir::ABIArgInfo::Kind : uint8_t
Enumerator
Direct 

Pass the argument directly using the normal converted CIR type, or by coercing to another specified type stored in 'CoerceToType').

If an offset is specified (in UIntData), then the argument passed is offset by some number of bytes in the memory representation. A dummy argument is emitted before the real argument if the specified type stored in "PaddingType" is not zero.

Ignore 

Ignore the argument (treat as void).

Useful for void and empty structs.

Definition at line 26 of file ABIArgInfo.h.

Constructor & Destructor Documentation

◆ ABIArgInfo()

cir::ABIArgInfo::ABIArgInfo ( Kind  k = Direct)
inline

Definition at line 54 of file ABIArgInfo.h.

Member Function Documentation

◆ canHaveCoerceToType()

bool cir::ABIArgInfo::canHaveCoerceToType ( ) const
inline

Definition at line 69 of file ABIArgInfo.h.

References cir::MissingFeatures::abiArgInfo(), and isDirect().

Referenced by getCoerceToType(), and setCoerceToType().

◆ getCoerceToType()

mlir::Type cir::ABIArgInfo::getCoerceToType ( ) const
inline

Definition at line 79 of file ABIArgInfo.h.

References canHaveCoerceToType().

◆ getDirect()

static ABIArgInfo cir::ABIArgInfo::getDirect ( mlir::Type  ty = nullptr)
inlinestatic

Definition at line 56 of file ABIArgInfo.h.

References cir::MissingFeatures::abiArgInfo(), Direct, and setCoerceToType().

◆ getDirectOffset()

unsigned cir::ABIArgInfo::getDirectOffset ( ) const
inline

Definition at line 74 of file ABIArgInfo.h.

References cir::MissingFeatures::abiArgInfo(), and directAttr.

◆ getIgnore()

static ABIArgInfo cir::ABIArgInfo::getIgnore ( )
inlinestatic

Definition at line 63 of file ABIArgInfo.h.

References Ignore.

◆ getKind()

Kind cir::ABIArgInfo::getKind ( ) const
inline

Definition at line 65 of file ABIArgInfo.h.

◆ isDirect()

bool cir::ABIArgInfo::isDirect ( ) const
inline

Definition at line 66 of file ABIArgInfo.h.

References Direct.

Referenced by canHaveCoerceToType().

◆ isIgnore()

bool cir::ABIArgInfo::isIgnore ( ) const
inline

Definition at line 67 of file ABIArgInfo.h.

References Ignore.

◆ setCoerceToType()

void cir::ABIArgInfo::setCoerceToType ( mlir::Type  ty)
inline

Definition at line 84 of file ABIArgInfo.h.

References canHaveCoerceToType().

Referenced by getDirect().

Member Data Documentation

◆ directAttr

DirectAttrInfo cir::ABIArgInfo::directAttr

Definition at line 49 of file ABIArgInfo.h.

Referenced by getDirectOffset().


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