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)
IsDestructed_t isExternallyDestructed () const
void setExternallyDestructed (bool destructed=true)
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 387 of file CIRGenValue.h.

◆ getQualifiers()

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

Definition at line 381 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().

◆ isExternallyDestructed()

IsDestructed_t clang::CIRGen::AggValueSlot::isExternallyDestructed ( ) const
inline

Definition at line 374 of file CIRGenValue.h.

◆ 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 389 of file CIRGenValue.h.

Referenced by forAddr(), and forLValue().

◆ setExternallyDestructed()

void clang::CIRGen::AggValueSlot::setExternallyDestructed ( bool destructed = true)
inline

Definition at line 377 of file CIRGenValue.h.


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