FLANG
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
fir::AliasAnalysis::Source Struct Reference

Classes

struct  SourceOrigin
 

Public Types

using SourceUnion = llvm::PointerUnion< mlir::SymbolRefAttr, mlir::Value >
 
using Attributes = Fortran::common::EnumSet< Attribute, Attribute_enumSize >
 

Public Member Functions

void print (llvm::raw_ostream &os) const
 Print information about the memory source to os.
 
bool isTargetOrPointer () const
 Return true, if Target or Pointer attribute is set.
 
bool isDummyArgument () const
 
bool isData () const
 
bool isBoxData () const
 
bool isFortranUserVariable () const
 Is this source a variable from the Fortran source?
 
mlir::Type getType () const
 
Dummy Argument Aliasing

Check conditions related to dummy argument aliasing.

For all uses, a result of false can prevent MayAlias from being reported, so the list of cases where false is returned is conservative.

bool mayBeDummyArgOrHostAssoc () const
 
bool mayBePtrDummyArgOrHostAssoc () const
 mayBeDummyArgOrHostAssoc and the address of a pointer?
 
bool mayBeActualArg () const
 The address of an actual argument of the current function?
 
bool mayBeActualArgWithPtr (const mlir::Value *val) const
 

Public Attributes

SourceOrigin origin
 
SourceKind kind
 Kind of the memory source.
 
mlir::Type valueType
 Value type of the source definition.
 
Attributes attributes
 Attributes of the memory source object, e.g. Target.
 
bool approximateSource
 
bool isCapturedInInternalProcedure {false}
 Source object is used in an internal procedure via host association.
 

Member Function Documentation

◆ mayBeActualArgWithPtr()

bool fir::AliasAnalysis::Source::mayBeActualArgWithPtr ( const mlir::Value *  val) const

mayBeActualArg and the address of either a pointer or a composite with a pointer component?

◆ mayBeDummyArgOrHostAssoc()

bool fir::AliasAnalysis::Source::mayBeDummyArgOrHostAssoc ( ) const

The address of a (possibly host associated) dummy argument of the current function?

Member Data Documentation

◆ approximateSource

bool fir::AliasAnalysis::Source::approximateSource

Have we lost precision following the source such that even an exact match cannot be MustAlias?


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