2016-10-06 19:34:21 +00:00
|
|
|
#ifndef GRAPH_H
|
|
|
|
#define GRAPH_H
|
|
|
|
|
|
|
|
struct graph_data
|
|
|
|
{
|
|
|
|
struct basicblock* entry;
|
2016-10-07 22:21:23 +00:00
|
|
|
PMAPOF(struct basicblock, struct basicblock) graph;
|
2016-10-06 19:34:21 +00:00
|
|
|
ARRAYOF(struct basicblock) preorder;
|
|
|
|
ARRAYOF(struct basicblock) postorder;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct dominance_data
|
|
|
|
{
|
|
|
|
PMAPOF(struct basicblock, struct basicblock) graph;
|
|
|
|
ARRAYOF(struct basicblock) preorder;
|
|
|
|
ARRAYOF(struct basicblock) postorder;
|
|
|
|
};
|
|
|
|
|
|
|
|
extern struct graph_data cfg;
|
|
|
|
extern struct dominance_data dominance;
|
|
|
|
|
|
|
|
extern void update_graph_data(struct procedure* proc);
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
/* vim: set sw=4 ts=4 expandtab : */
|
|
|
|
|