retdec
Public Member Functions | Friends | List of all members
retdec::llvmir2hll::PessimFuncInfo Class Reference

Pessimistic information about a function. More...

#include <pessim_call_info_obtainer.h>

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

Public Member Functions

 PessimFuncInfo (ShPtr< Function > func)
 Constructs a new pessimistic piece of information about the given function. More...
 
virtual bool isNeverRead (ShPtr< Variable > var) const override
 Returns true if var is never read in the function, false otherwise. More...
 
virtual bool mayBeRead (ShPtr< Variable > var) const override
 Returns true if var may be read in the function, false otherwise. More...
 
virtual bool isAlwaysRead (ShPtr< Variable > var) const override
 Returns true if var is always read in the function, false otherwise. More...
 
virtual bool isNeverModified (ShPtr< Variable > var) const override
 Returns true if there is no assign into var in the function, false otherwise. More...
 
virtual bool mayBeModified (ShPtr< Variable > var) const override
 Returns true if the value of var may be changed in the function, false otherwise. More...
 
virtual bool isAlwaysModified (ShPtr< Variable > var) const override
 Returns true if the value of var is always changed in the function, false otherwise. More...
 
virtual bool valueIsNeverChanged (ShPtr< Variable > var) const override
 Returns true if the value of var is never changed in the call, false otherwise. More...
 
virtual bool isAlwaysModifiedBeforeRead (ShPtr< Variable > var) const override
 Returns true if the given variable is modified prior to being read in the function, false otherwise. More...
 
- Public Member Functions inherited from retdec::llvmir2hll::FuncInfo
virtual ~FuncInfo ()=default
 
ShPtr< FunctiongetFunc () const
 Returns the function for which the piece of information has been computed. More...
 

Friends

class PessimCallInfoObtainer
 

Additional Inherited Members

- Protected Member Functions inherited from retdec::llvmir2hll::FuncInfo
 FuncInfo (ShPtr< Function > func)
 Constructs a new piece of information about the given function. More...
 
- Protected Attributes inherited from retdec::llvmir2hll::FuncInfo
ShPtr< Functionfunc
 Function for which this piece of information is computed. More...
 

Detailed Description

Pessimistic information about a function.

Use PessimCallInfoObtainer to create instances.

Instances of this class have reference object semantics.

Constructor & Destructor Documentation

◆ PessimFuncInfo()

retdec::llvmir2hll::PessimFuncInfo::PessimFuncInfo ( ShPtr< Function func)
explicit

Constructs a new pessimistic piece of information about the given function.

Member Function Documentation

◆ isAlwaysModified()

bool retdec::llvmir2hll::PessimFuncInfo::isAlwaysModified ( ShPtr< Variable var) const
overridevirtual

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.

Implements retdec::llvmir2hll::FuncInfo.

◆ isAlwaysModifiedBeforeRead()

bool retdec::llvmir2hll::PessimFuncInfo::isAlwaysModifiedBeforeRead ( ShPtr< Variable var) const
overridevirtual

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.

Implements retdec::llvmir2hll::FuncInfo.

◆ isAlwaysRead()

bool retdec::llvmir2hll::PessimFuncInfo::isAlwaysRead ( ShPtr< Variable var) const
overridevirtual

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.

Implements retdec::llvmir2hll::FuncInfo.

◆ isNeverModified()

bool retdec::llvmir2hll::PessimFuncInfo::isNeverModified ( ShPtr< Variable var) const
overridevirtual

Returns true if there is no assign into var in the function, false otherwise.

Implements retdec::llvmir2hll::FuncInfo.

◆ isNeverRead()

bool retdec::llvmir2hll::PessimFuncInfo::isNeverRead ( ShPtr< Variable var) const
overridevirtual

Returns true if var is never read in the function, false otherwise.

Implements retdec::llvmir2hll::FuncInfo.

◆ mayBeModified()

bool retdec::llvmir2hll::PessimFuncInfo::mayBeModified ( ShPtr< Variable var) const
overridevirtual

Returns true if the value of var may be changed in the function, false otherwise.

Implements retdec::llvmir2hll::FuncInfo.

◆ mayBeRead()

bool retdec::llvmir2hll::PessimFuncInfo::mayBeRead ( ShPtr< Variable var) const
overridevirtual

Returns true if var may be read in the function, false otherwise.

Implements retdec::llvmir2hll::FuncInfo.

◆ valueIsNeverChanged()

bool retdec::llvmir2hll::PessimFuncInfo::valueIsNeverChanged ( ShPtr< Variable var) const
overridevirtual

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.

Implements retdec::llvmir2hll::FuncInfo.

Friends And Related Function Documentation

◆ PessimCallInfoObtainer

friend class PessimCallInfoObtainer
friend

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