clang 22.0.0git
Public Types | Public Member Functions | Static Public Member Functions | List of all members
clang::CIRGen::AggValueSlot Class Reference

An aggregate value slot. More...

#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CIR/CodeGen/CIRGenValue.h"

Public Types

enum  IsDestructed_t { IsNotDestructed , IsDestructed }
 
enum  IsZeroed_t { IsNotZeroed , IsZeroed }
 
enum  IsAliased_t { IsNotAliased , IsAliased }
 
enum  Overlap_t { MayOverlap , DoesNotOverlap }
 

Public Member Functions

 AggValueSlot (Address addr, clang::Qualifiers quals, bool destructedFlag, bool zeroedFlag, bool aliasedFlag, bool overlapFlag)
 
clang::Qualifiers getQualifiers () const
 
Address getAddress () const
 
bool isIgnored () const
 
mlir::Value getPointer () const
 
IsZeroed_t isZeroed () const
 
RValue asRValue () const
 

Static Public Member Functions

static AggValueSlot ignored ()
 Returns an aggregate value slot indicating that the aggregate value is being ignored.
 
static AggValueSlot forAddr (Address addr, clang::Qualifiers quals, IsDestructed_t isDestructed, IsAliased_t isAliased, Overlap_t mayOverlap, IsZeroed_t isZeroed=IsNotZeroed)
 
static AggValueSlot forLValue (const LValue &LV, IsDestructed_t isDestructed, IsAliased_t isAliased, Overlap_t mayOverlap, IsZeroed_t isZeroed=IsNotZeroed)
 

Detailed Description

An aggregate value slot.

Definition at line 302 of file CIRGenValue.h.

Member Enumeration Documentation

◆ IsAliased_t

Enumerator
IsNotAliased 
IsAliased 

Definition at line 343 of file CIRGenValue.h.

◆ IsDestructed_t

Enumerator
IsNotDestructed 
IsDestructed 

Definition at line 341 of file CIRGenValue.h.

◆ IsZeroed_t

Enumerator
IsNotZeroed 
IsZeroed 

Definition at line 342 of file CIRGenValue.h.

◆ Overlap_t

Enumerator
MayOverlap 
DoesNotOverlap 

Definition at line 344 of file CIRGenValue.h.

Constructor & Destructor Documentation

◆ AggValueSlot()

clang::CIRGen::AggValueSlot::AggValueSlot ( Address  addr,
clang::Qualifiers  quals,
bool  destructedFlag,
bool  zeroedFlag,
bool  aliasedFlag,
bool  overlapFlag 
)
inline

Definition at line 353 of file CIRGenValue.h.

Member Function Documentation

◆ asRValue()

RValue clang::CIRGen::AggValueSlot::asRValue ( ) const
inline

◆ forAddr()

static AggValueSlot clang::CIRGen::AggValueSlot::forAddr ( Address  addr,
clang::Qualifiers  quals,
IsDestructed_t  isDestructed,
IsAliased_t  isAliased,
Overlap_t  mayOverlap,
IsZeroed_t  isZeroed = IsNotZeroed 
)
inlinestatic

◆ forLValue()

static AggValueSlot clang::CIRGen::AggValueSlot::forLValue ( const LValue LV,
IsDestructed_t  isDestructed,
IsAliased_t  isAliased,
Overlap_t  mayOverlap,
IsZeroed_t  isZeroed = IsNotZeroed 
)
inlinestatic

◆ getAddress()

Address clang::CIRGen::AggValueSlot::getAddress ( ) const
inline

◆ getPointer()

mlir::Value clang::CIRGen::AggValueSlot::getPointer ( ) const
inline

Definition at line 380 of file CIRGenValue.h.

References clang::CIRGen::Address::getPointer().

◆ getQualifiers()

clang::Qualifiers clang::CIRGen::AggValueSlot::getQualifiers ( ) const
inline

Definition at line 374 of file CIRGenValue.h.

◆ ignored()

static AggValueSlot clang::CIRGen::AggValueSlot::ignored ( )
inlinestatic

Returns an aggregate value slot indicating that the aggregate value is being ignored.

Definition at line 348 of file CIRGenValue.h.

References DoesNotOverlap, forAddr(), clang::CIRGen::Address::invalid(), IsNotAliased, and IsNotDestructed.

Referenced by clang::CIRGen::CIRGenFunction::emitAnyExprToTemp().

◆ isIgnored()

bool clang::CIRGen::AggValueSlot::isIgnored ( ) const
inline

◆ isZeroed()

IsZeroed_t clang::CIRGen::AggValueSlot::isZeroed ( ) const
inline

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