|
FLANG
|
#include <flang/Optimizer/Analysis/AliasAnalysis.h>
Public Attributes | |
| mlir::Value | scope |
| mlir::Value | declValue |
| Result SSA value of the [hl]fir.declare op. | |
| AccessPath | accessPath |
| Attributes | attributes |
| bool | approximateSource {false} |
| Whether the path is approximate at the moment of the snapshot. | |
| bool | isData {false} |
A snapshot taken when getSource() walks through an [hl]fir.declare. Records the Fortran procedure scope of the declare (the dummy_scope SSA value – nullptr for non-dummy frames), the declare's result SSA value, and the access path and attributes accumulated FROM THE LEAF UP TO (and including) this declare. alias() uses these snapshots to rebuild intermediate Sources rooted at shared-scope declares via buildSourceAtDeclare().
Relationship to the enclosing Source's top-level fields:
| AccessPath fir::AliasAnalysis::Source::ScopedOrigin::accessPath |
Path from the declare (treated as root) to the leaf Value the original getSource() call was started from, in root-to-leaf order.
| Attributes fir::AliasAnalysis::Source::ScopedOrigin::attributes |
Attributes accumulated from the leaf up to and including this declare (includes getAttrsFromVariable(declare) and any path-acquired bits such as Pointer from intermediate box loads).
| bool fir::AliasAnalysis::Source::ScopedOrigin::isData {false} |
Whether the walk was following data (vs. a box reference) at the moment of the snapshot.
| mlir::Value fir::AliasAnalysis::Source::ScopedOrigin::scope |
The dummy_scope SSA value governing the declare. May be null Value when the declare has no explicit dummy_scope and no fir.dummy_scope op dominates it (e.g. globals at module scope).