clang 22.0.0git
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
Overlap_t mayOverlap () 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.

Referenced by forAddr(), forLValue(), and ignored().

Member Function Documentation

◆ asRValue()

◆ forAddr()

◆ forLValue()

◆ 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.

◆ getQualifiers()

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

Definition at line 374 of file CIRGenValue.h.

◆ ignored()

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 AggValueSlot(), DoesNotOverlap, forAddr(), clang::CIRGen::Address::invalid(), IsNotAliased, and IsNotDestructed.

Referenced by clang::CIRGen::CIRGenFunction::emitAlloca(), and clang::CIRGen::CIRGenFunction::emitAnyExprToTemp().

◆ isIgnored()

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

◆ isZeroed()

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

◆ mayOverlap()

Overlap_t clang::CIRGen::AggValueSlot::mayOverlap ( ) const
inline

Definition at line 382 of file CIRGenValue.h.

Referenced by forAddr(), and forLValue().


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