Jlm
Public Member Functions | Private Attributes | List of all members
jlm::llvm::aa::ChainedAliasAnalysis Class Referencefinal

#include <AliasAnalysis.hpp>

Inheritance diagram for jlm::llvm::aa::ChainedAliasAnalysis:
Inheritance graph
[legend]
Collaboration diagram for jlm::llvm::aa::ChainedAliasAnalysis:
Collaboration graph
[legend]

Public Member Functions

 ChainedAliasAnalysis (AliasAnalysis &first, AliasAnalysis &second)
 
 ~ChainedAliasAnalysis () noexcept override
 
std::string ToString () const override
 
AliasQueryResponse Query (const rvsdg::Output &p1, size_t s1, const rvsdg::Output &p2, size_t s2) override
 
- Public Member Functions inherited from jlm::llvm::aa::AliasAnalysis
 AliasAnalysis ()
 
virtual ~AliasAnalysis () noexcept
 

Private Attributes

AliasAnalysisFirst_
 
AliasAnalysisSecond_
 

Additional Inherited Members

- Public Types inherited from jlm::llvm::aa::AliasAnalysis
enum  AliasQueryResponse { NoAlias , MayAlias , MustAlias }
 

Detailed Description

Class using two instances of AliasAnalysis to answer alias analysis queries. If the first analysis responds "May Alias", the second analysis is queried.

Definition at line 69 of file AliasAnalysis.hpp.

Constructor & Destructor Documentation

◆ ChainedAliasAnalysis()

jlm::llvm::aa::ChainedAliasAnalysis::ChainedAliasAnalysis ( AliasAnalysis first,
AliasAnalysis second 
)

Definition at line 44 of file AliasAnalysis.cpp.

◆ ~ChainedAliasAnalysis()

jlm::llvm::aa::ChainedAliasAnalysis::~ChainedAliasAnalysis ( )
overridedefaultnoexcept

Member Function Documentation

◆ Query()

AliasAnalysis::AliasQueryResponse jlm::llvm::aa::ChainedAliasAnalysis::Query ( const rvsdg::Output p1,
size_t  s1,
const rvsdg::Output p2,
size_t  s2 
)
overridevirtual

Queries the alias analysis about two memory regions represented as pointer + size pairs.

Parameters
p1the first pointer value
s1the byte size of the first pointer access
p2the second pointer value
s2the byte size of the second pointer access
Returns
the result of the alias query

Implements jlm::llvm::aa::AliasAnalysis.

Definition at line 52 of file AliasAnalysis.cpp.

◆ ToString()

std::string jlm::llvm::aa::ChainedAliasAnalysis::ToString ( ) const
overridevirtual
Returns
a string description of the alias analysis

Implements jlm::llvm::aa::AliasAnalysis.

Definition at line 68 of file AliasAnalysis.cpp.

Member Data Documentation

◆ First_

AliasAnalysis& jlm::llvm::aa::ChainedAliasAnalysis::First_
private

Definition at line 83 of file AliasAnalysis.hpp.

◆ Second_

AliasAnalysis& jlm::llvm::aa::ChainedAliasAnalysis::Second_
private

Definition at line 84 of file AliasAnalysis.hpp.


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