clang 24.0.0git
cir::CIRBasicAliasAnalysis Class Reference

Basic CIR alias analysis based on pointer provenance and distinct allocation sites. More...

#include "clang/CIR/Dialect/Analysis/CIRBasicAliasAnalysis.h"

Public Member Functions

 CIRBasicAliasAnalysis ()=default
 CIRBasicAliasAnalysis (CIRBasicAliasAnalysis &&)=default
mlir::AliasResult alias (mlir::Value lhs, mlir::Value rhs)
 Return the aliasing behavior between two values.
mlir::ModRefResult getModRef (mlir::Operation *op, mlir::Value location)
 Return the modify-reference behavior of op on location.

Detailed Description

Basic CIR alias analysis based on pointer provenance and distinct allocation sites.

Conservative defaults (MayAlias / ModRef) are returned for cases that are not yet handled.

Definition at line 29 of file CIRBasicAliasAnalysis.h.

Constructor & Destructor Documentation

◆ CIRBasicAliasAnalysis() [1/2]

cir::CIRBasicAliasAnalysis::CIRBasicAliasAnalysis ( )
default

Referenced by CIRBasicAliasAnalysis().

◆ CIRBasicAliasAnalysis() [2/2]

cir::CIRBasicAliasAnalysis::CIRBasicAliasAnalysis ( CIRBasicAliasAnalysis && )
default

Member Function Documentation

◆ alias()

mlir::AliasResult CIRBasicAliasAnalysis::alias ( mlir::Value lhs,
mlir::Value rhs )

Return the aliasing behavior between two values.

Returns MayAlias conservatively unless a more precise result can be determined from CIR-specific information (e.g. distinct alloca ops, pointer provenance, restrict attributes).

Definition at line 63 of file CIRBasicAliasAnalysis.cpp.

Referenced by getModRef().

◆ getModRef()

mlir::ModRefResult CIRBasicAliasAnalysis::getModRef ( mlir::Operation * op,
mlir::Value location )

Return the modify-reference behavior of op on location.

Returns ModRef conservatively. CIR ops that carry explicit memory-effect attributes or that are known to be pure/read-only can be handled here.

Definition at line 82 of file CIRBasicAliasAnalysis.cpp.

References alias().


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