7 #ifndef RETDEC_LLVMIR2HLL_ANALYSIS_ALIAS_ANALYSIS_ALIAS_ANALYSES_SIMPLE_ALIAS_ANALYSIS_H
8 #define RETDEC_LLVMIR2HLL_ANALYSIS_ALIAS_ANALYSIS_ALIAS_ANALYSES_SIMPLE_ALIAS_ANALYSIS_H
40 virtual std::string
getId()
const override;
A base class for all alias analyses.
A base class for all alias analyses.
Definition: alias_analysis.h:32
ShPtr< Module > module
The current module.
Definition: alias_analysis.h:78
A visitor that visits everything in an ordered way.
Definition: ordered_all_visitor.h:44
virtual void visit(ShPtr< GlobalVarDef > varDef) override
Definition: ordered_all_visitor.cpp:95
A very simple alias analysis.
Definition: simple_alias_analysis.h:35
virtual void init(ShPtr< Module > module) override
Initializes the analysis.
Definition: simple_alias_analysis.cpp:50
FuncVarSetMap funcAddressedVarsMap
Definition: simple_alias_analysis.h:67
SimpleAliasAnalysis()
Constructs a new analysis.
Definition: simple_alias_analysis.cpp:35
ShPtr< Function > func
Currently traversed function.
Definition: simple_alias_analysis.h:74
VarFuncMap varFuncMap
Definition: simple_alias_analysis.h:71
static ShPtr< AliasAnalysis > create()
Creates a new alias analysis.
Definition: simple_alias_analysis.cpp:42
std::map< ShPtr< Function >, VarSet > FuncVarSetMap
Mapping of a function into a set of variables.
Definition: simple_alias_analysis.h:47
virtual void visit(ShPtr< GlobalVarDef > varDef) override
Definition: ordered_all_visitor.cpp:95
virtual std::string getId() const override
Returns the ID of the analysis.
Definition: simple_alias_analysis.cpp:46
std::map< ShPtr< Variable >, ShPtr< Function > > VarFuncMap
Mapping of a variable into a function.
Definition: simple_alias_analysis.h:50
virtual bool mayBePointed(ShPtr< Variable > var) const override
Returns true if a pointer may point to var, false otherwise.
Definition: simple_alias_analysis.cpp:121
virtual const VarSet & mayPointTo(ShPtr< Variable > var) const override
Returns the set of variables to which var may point to.
Definition: simple_alias_analysis.cpp:88
VarSet allAddressedVars
All variables in the module whose address is taken.
Definition: simple_alias_analysis.h:63
virtual ShPtr< Variable > pointsTo(ShPtr< Variable > var) const override
Returns the variable to which var always points.
Definition: simple_alias_analysis.cpp:114
A library providing API for working with back-end IR.
std::shared_ptr< T > ShPtr
An alias for a shared pointer.
Definition: smart_ptr.h:18
std::set< ShPtr< Variable > > VarSet
Set of variables.
Definition: types.h:57
Definition: archive_wrapper.h:19
A visitor that visits everything in an ordered way.
Declarations, aliases, macros, etc. for the use of smart pointers.
Aliases for several useful types.