FLANG
fir::AliasAnalysis::Source::PathStep Struct Reference

#include <flang/Optimizer/Analysis/AliasAnalysis.h>

Public Types

enum class  Kind { Component , PointerDeref , AllocDeref }

Public Member Functions

bool operator== (const PathStep &o) const
bool operator!= (const PathStep &o) const

Public Attributes

Kind kind
mlir::StringAttr component

Detailed Description

Represents a step in the access path from a root variable to the memory location being queried. Built during the backward walk in getSource() and stored in forward (root-to-leaf) order.

Member Enumeration Documentation

◆ Kind

Enumerator
Component 

Named component access, e.g. xfield.

PointerDeref 

Loading a POINTER box (fir.load of !fir.box<!fir.ptr<...>>). The resulting address depends on pointer association at runtime.

AllocDeref 

Loading an ALLOCATABLE box (fir.load of !fir.box<!fir.heap<...>>).

Member Data Documentation

◆ component

mlir::StringAttr fir::AliasAnalysis::Source::PathStep::component

For Component steps: the field name from hlfir.designate's component attribute or fir.coordinate_of's field_indices (mapped through the record type). Null for non-Component steps.


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