retdec
Public Member Functions | Static Public Member Functions | Private Member Functions | List of all members
retdec::llvmir2hll::BasicAliasAnalysis Class Reference

A basic alias analysis. More...

#include <basic_alias_analysis.h>

Inheritance diagram for retdec::llvmir2hll::BasicAliasAnalysis:
Inheritance graph
[legend]
Collaboration diagram for retdec::llvmir2hll::BasicAliasAnalysis:
Collaboration graph
[legend]

Public Member Functions

virtual void init (ShPtr< Module > module) override
 Initializes the analysis. More...
 
virtual std::string getId () const override
 Returns the ID of the analysis. More...
 
- Public Member Functions inherited from retdec::llvmir2hll::AliasAnalysis
virtual ~AliasAnalysis ()=default
 
virtual bool isInitialized () const
 Returns true if the analysis has been initialized, false otherwise. More...
 
virtual const VarSetmayPointTo (ShPtr< Variable > var) const =0
 Returns the set of variables to which var may point to. More...
 
virtual ShPtr< VariablepointsTo (ShPtr< Variable > var) const =0
 Returns the variable to which var always points. More...
 
virtual bool mayBePointed (ShPtr< Variable > var) const =0
 Returns true if a pointer may point to var, false otherwise. More...
 

Static Public Member Functions

static ShPtr< AliasAnalysiscreate ()
 Creates a new basic alias analysis. More...
 

Private Member Functions

 BasicAliasAnalysis ()
 Constructs a new analysis. More...
 

Additional Inherited Members

- Protected Member Functions inherited from retdec::llvmir2hll::AliasAnalysis
 AliasAnalysis ()=default
 
- Protected Attributes inherited from retdec::llvmir2hll::AliasAnalysis
ShPtr< Modulemodule
 The current module. More...
 
VarSet globalVars
 

Detailed Description

A basic alias analysis.

Use create() to create instances. Instances of this class have reference object semantics.

Constructor & Destructor Documentation

◆ BasicAliasAnalysis()

retdec::llvmir2hll::BasicAliasAnalysis::BasicAliasAnalysis ( )
private

Constructs a new analysis.

Member Function Documentation

◆ create()

ShPtr< AliasAnalysis > retdec::llvmir2hll::BasicAliasAnalysis::create ( )
static

Creates a new basic alias analysis.

◆ getId()

std::string retdec::llvmir2hll::BasicAliasAnalysis::getId ( ) const
overridevirtual

Returns the ID of the analysis.

Implements retdec::llvmir2hll::AliasAnalysis.

◆ init()

void retdec::llvmir2hll::BasicAliasAnalysis::init ( ShPtr< Module module)
overridevirtual

Initializes the analysis.

Parameters
[in]moduleThe module to be analyzed.

This member function has to be called (1) when an instance of this class (or its subclass) is created and (2) whenever the current module is changed in a way that may change the results of the alias analysis.

Preconditions
  • module is non-null

Reimplemented from retdec::llvmir2hll::AliasAnalysis.


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