retdec
|
Base class for all classes storing information about a function. More...
#include <call_info_obtainer.h>
Public Member Functions | |
virtual | ~FuncInfo ()=default |
ShPtr< Function > | getFunc () const |
Returns the function for which the piece of information has been computed. More... | |
virtual bool | isNeverRead (ShPtr< Variable > var) const =0 |
Returns true if var is never read in the function, false otherwise. More... | |
virtual bool | mayBeRead (ShPtr< Variable > var) const =0 |
Returns true if var may be read in the function, false otherwise. More... | |
virtual bool | isAlwaysRead (ShPtr< Variable > var) const =0 |
Returns true if var is always read in the function, false otherwise. More... | |
virtual bool | isNeverModified (ShPtr< Variable > var) const =0 |
Returns true if there is no assign into var in the function, false otherwise. More... | |
virtual bool | mayBeModified (ShPtr< Variable > var) const =0 |
Returns true if the value of var may be changed in the function, false otherwise. More... | |
virtual bool | isAlwaysModified (ShPtr< Variable > var) const =0 |
Returns true if the value of var is always changed in the function, false otherwise. More... | |
virtual bool | valueIsNeverChanged (ShPtr< Variable > var) const =0 |
Returns true if the value of var is never changed in the call, false otherwise. More... | |
virtual bool | isAlwaysModifiedBeforeRead (ShPtr< Variable > var) const =0 |
Returns true if the given variable is modified prior to being read in the function, false otherwise. More... | |
Protected Member Functions | |
FuncInfo (ShPtr< Function > func) | |
Constructs a new piece of information about the given function. More... | |
Protected Attributes | |
ShPtr< Function > | func |
Function for which this piece of information is computed. More... | |
Friends | |
class | CallInfoObtainer |
Additional Inherited Members | |
![]() | |
NonCopyable (const NonCopyable &)=delete | |
NonCopyable & | operator= (const NonCopyable &)=delete |
NonCopyable ()=default | |
~NonCopyable ()=default | |
Base class for all classes storing information about a function.
Instances of this class have reference object semantics.
|
virtualdefault |
Constructs a new piece of information about the given function.
Returns the function for which the piece of information has been computed.
|
pure virtual |
Returns true
if the value of var is always changed in the function, false
otherwise.
"Always changed" means that every time the function is called, var has a new assigned value. The new value may, however, be the same as the old value.
Implemented in retdec::llvmir2hll::PessimFuncInfo, and retdec::llvmir2hll::OptimFuncInfo.
|
pure virtual |
Returns true
if the given variable is modified prior to being read in the function, false
otherwise.
When this function returns true
, it doesn't mean that the variable is actually read or modified in the function. It only means that if the variable is read in the function, then it has been assigned a value before this read.
Implemented in retdec::llvmir2hll::PessimFuncInfo, and retdec::llvmir2hll::OptimFuncInfo.
Returns true
if var is always read in the function, false
otherwise.
"Always read" means that every time the function is called, var is read.
Implemented in retdec::llvmir2hll::PessimFuncInfo, and retdec::llvmir2hll::OptimFuncInfo.
|
pure virtual |
Returns true
if there is no assign into var in the function, false
otherwise.
Implemented in retdec::llvmir2hll::PessimFuncInfo, and retdec::llvmir2hll::OptimFuncInfo.
Returns true
if var is never read in the function, false
otherwise.
Implemented in retdec::llvmir2hll::PessimFuncInfo, and retdec::llvmir2hll::OptimFuncInfo.
|
pure virtual |
Returns true
if the value of var may be changed in the function, false
otherwise.
Implemented in retdec::llvmir2hll::PessimFuncInfo, and retdec::llvmir2hll::OptimFuncInfo.
Returns true
if var may be read in the function, false
otherwise.
Implemented in retdec::llvmir2hll::PessimFuncInfo, and retdec::llvmir2hll::OptimFuncInfo.
|
pure virtual |
Returns true
if the value of var is never changed in the call, false
otherwise.
"Never changed" means that a new value may be assigned to var in the call, but when the called function returns, the value of var is always its original value.
Implemented in retdec::llvmir2hll::PessimFuncInfo, and retdec::llvmir2hll::OptimFuncInfo.
|
friend |
Function for which this piece of information is computed.