LRDE Tiger Compiler
1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
flowgraph.hh
Go to the documentation of this file.
1
6
#ifndef LIVENESS_FLOWGRAPH_HH
7
# define LIVENESS_FLOWGRAPH_HH
8
9
# include <
assem/libassem.hh
>
10
# include <
misc/graph.hh
>
11
# include <
misc/timer.hh
>
12
13
namespace
liveness
14
{
15
17
template
<
typename
EdgeLabel = misc::empty>
18
class
FlowGraph
19
:
public
misc::directed_graph
<const assem::Instr*, EdgeLabel>
20
{
21
public
:
23
typedef
FlowGraph<EdgeLabel>
self_type
;
25
typedef
misc::directed_graph<const assem::Instr*, EdgeLabel>
super_type
;
26
27
typedef
typename
super_type::vertex_descriptor
vertex_descriptor
;
28
29
public
:
30
FlowGraph
(
const
std::string& name,
31
const
assem::Instrs
& instrs);
32
// The flowgraph timer.
33
const
misc::timer
&
timer_get
()
const
;
34
35
protected
:
37
virtual
std::ostream&
38
vertex_print
(
vertex_descriptor
v, std::ostream& ostr)
const
;
39
42
protected
:
44
misc::timer
timer_
;
46
};
47
48
}
// namespace liveness
49
50
# include <
liveness/flowgraph.hxx
>
51
52
#endif // !LIVENESS_FLOWGRAPH_HH
liveness
flowgraph.hh
Generated on Wed Mar 5 2014 15:47:36 for LRDE Tiger Compiler by
1.8.1.2