PandA-2024.02
|
Class specification of the basic_block structure. More...
#include "config_HAVE_UNORDERED.hpp"
#include "cdfg_edge_info.hpp"
#include "edge_info.hpp"
#include "graph.hpp"
#include "graph_info.hpp"
#include "node_info.hpp"
#include "refcount.hpp"
#include <cstddef>
#include <functional>
#include <list>
#include <string>
#include <utility>
#include "custom_map.hpp"
#include "custom_set.hpp"
Go to the source code of this file.
Data Structures | |
struct | BBNodeInfo |
Definition of the node_info object for the basic_block graph. More... | |
struct | BBEdgeInfo |
Information associated with a basic block edge. More... | |
struct | BBGraphInfo |
Information associated with the whole basic-block graph. More... | |
class | BBGraphsCollection |
This structure defines graphs where nodes are basic_blocks. More... | |
struct | BBGraph |
Class used to describe a particular graph with basic blocks as nodes. More... | |
class | BBVertexSorter |
class | BBEdgeSorter |
class | bb_vertex_order_by_map |
The key comparison function for vertices set based on levels. More... | |
Macros | |
#define | D_SELECTOR (1 << 7) |
Selectors used only in basic block graphs; numbers continue from cdfg_edge_info.hpp. More... | |
#define | PD_SELECTOR (1 << 8) |
post-dominator graph edge selector More... | |
#define | J_SELECTOR (1 << 9) |
j graph edge selector for dj graph (used during loop computation) More... | |
#define | PP_SELECTOR (1 << 10) |
Path Profiling Basic Block edge selector. More... | |
Typedefs | |
using | BBNodeInfoRef = refcount< BBNodeInfo > |
refcount definition of the class More... | |
using | BBNodeInfoConstRef = refcount< const BBNodeInfo > |
using | BBEdgeInfoRef = refcount< BBEdgeInfo > |
refcount definition of the class More... | |
using | BBEdgeInfoConstRef = refcount< const BBEdgeInfo > |
using | BBGraphInfoRef = refcount< BBGraphInfo > |
refcount definition of the class More... | |
using | BBGraphInfoConstRef = refcount< const BBGraphInfo > |
using | BBGraphsCollectionRef = refcount< BBGraphsCollection > |
refcount definition of the class More... | |
using | BBGraphsCollectionConstRef = refcount< const BBGraphsCollection > |
using | BBGraphRef = refcount< BBGraph > |
refcount definition of the class More... | |
using | BBGraphConstRef = refcount< const BBGraph > |
Functions | |
forward declarations | |
CONSTREF_FORWARD_DECL (application_manager) | |
REF_FORWARD_DECL (bloc) | |
CONSTREF_FORWARD_DECL (Parameter) | |
Class specification of the basic_block structure.
This structure is used to represent graphs where nodes are basic_block. A basic block is a sequence of instructions with only one entry and only one exit. If any of the instructions are executed, they will be all executed, and in sequence from first to last. Jumps, if any, start a block, and jumps end a block.
Definition in file basic_block.hpp.
#define D_SELECTOR (1 << 7) |
Selectors used only in basic block graphs; numbers continue from cdfg_edge_info.hpp.
dominator graph edge selector
Definition at line 85 of file basic_block.hpp.
Referenced by Bit_Value::Initialize(), eSSA::InternalExec(), dom_post_dom_computation::InternalExec(), CSE::InternalExec(), and BBEdgeWriter::operator()().
#define J_SELECTOR (1 << 9) |
j graph edge selector for dj graph (used during loop computation)
Definition at line 91 of file basic_block.hpp.
Referenced by Loops::DetectLoops(), and BBEdgeWriter::operator()().
#define PD_SELECTOR (1 << 8) |
post-dominator graph edge selector
Definition at line 88 of file basic_block.hpp.
Referenced by dom_post_dom_computation::InternalExec(), and BBEdgeWriter::operator()().
#define PP_SELECTOR (1 << 10) |
Path Profiling Basic Block edge selector.
Definition at line 94 of file basic_block.hpp.
Referenced by BBEdgeWriter::operator()().
using BBEdgeInfoConstRef = refcount<const BBEdgeInfo> |
Definition at line 242 of file basic_block.hpp.
using BBEdgeInfoRef = refcount<BBEdgeInfo> |
refcount definition of the class
Definition at line 241 of file basic_block.hpp.
using BBGraphConstRef = refcount<const BBGraph> |
Definition at line 424 of file basic_block.hpp.
using BBGraphInfoConstRef = refcount<const BBGraphInfo> |
Definition at line 272 of file basic_block.hpp.
using BBGraphInfoRef = refcount<BBGraphInfo> |
refcount definition of the class
Definition at line 271 of file basic_block.hpp.
using BBGraphRef = refcount<BBGraph> |
refcount definition of the class
Definition at line 423 of file basic_block.hpp.
using BBGraphsCollectionConstRef = refcount<const BBGraphsCollection> |
Definition at line 319 of file basic_block.hpp.
refcount definition of the class
Definition at line 318 of file basic_block.hpp.
using BBNodeInfoConstRef = refcount<const BBNodeInfo> |
Definition at line 175 of file basic_block.hpp.
using BBNodeInfoRef = refcount<BBNodeInfo> |
refcount definition of the class
Definition at line 174 of file basic_block.hpp.
CONSTREF_FORWARD_DECL | ( | application_manager | ) |
CONSTREF_FORWARD_DECL | ( | Parameter | ) |
REF_FORWARD_DECL | ( | bloc | ) |