retdec
|
Represents an order in which FuncInfos should be computed. More...
#include <call_info_obtainer.h>
Public Member Functions | |
void | debugPrint () const |
Emits the order to standard error. More... | |
Public Attributes | |
FuncVector | order |
An order in which FuncInfos should be computed. More... | |
FuncVectorSet | sccs |
SCCs in the call graph. More... | |
Represents an order in which FuncInfos should be computed.
To compute (create) an instance of this class, use getFuncInfoCompOrder().
Example: Consider the following call graph:
Then, getFuncInfoCompOrder() returns an instance of this class with the following data:
It means that the concrete obtainer should first compute the FuncInfo for 5, then for 4, then for the strongly connected component (SCC, see http://en.wikipedia.org/wiki/Strongly_connected_component) which contains 1, 2, and 3, and then for 6. Note that in order
, instead of 3, there may be 2 or 1 (since all of them form an SCC, it doesn't matter which of them appears in order
).
A single function is not considered to be an SCC unless it contains a call to itself.
Functions which haven't been defined (only declared) are also included into the order.
void retdec::llvmir2hll::CallInfoObtainer::FuncInfoCompOrder::debugPrint | ( | ) | const |
Emits the order to standard error.
Only for debugging purposes.
FuncVector retdec::llvmir2hll::CallInfoObtainer::FuncInfoCompOrder::order |
An order in which FuncInfos should be computed.
FuncVectorSet retdec::llvmir2hll::CallInfoObtainer::FuncInfoCompOrder::sccs |
SCCs in the call graph.