#include "irprintf.h"
#include "irdom_t.h"
#include "set.h"
-#include "statev.h"
+#include "statev_t.h"
#include "dfs_t.h"
#include "util.h"
templ.tgt = tgt;
templ.kind = (dfs_edge_kind_t) -1;
- return (dfs_edge_t*) set_insert(self->edges, &templ, sizeof(templ), hash);
+ return set_insert(dfs_edge_t, self->edges, &templ, sizeof(templ), hash);
}
static void dfs_perform(dfs_t *dfs, void *n, void *anc, int level)
static void classify_edges(dfs_t *dfs)
{
- dfs_edge_t *edge;
stat_ev_cnt_decl(anc);
stat_ev_cnt_decl(back);
stat_ev_cnt_decl(fwd);
dfs_t *dfs_new(const absgraph_t *graph_impl, void *graph_self)
{
dfs_t *res = XMALLOC(dfs_t);
- dfs_node_t *node;
res->graph_impl = graph_impl;
res->graph = graph_self;
dfs_perform(res, graph_impl->get_root(graph_self), NULL, 0);
/* make sure the end node (which might not be accessible) has a number */
- node = get_node(res, graph_impl->get_end(graph_self));
+ dfs_node_t *const node = get_node(res, graph_impl->get_end(graph_self));
if (!node->visited) {
node->visited = 1;
node->node = graph_impl->get_end(graph_self);
void dfs_dump(const dfs_t *dfs, FILE *file)
{
dfs_node_t **nodes = XMALLOCN(dfs_node_t*, dfs->pre_num);
- dfs_node_t *node;
- dfs_edge_t *edge;
int i, n = 0;
ir_fprintf(file, "digraph G {\nranksep=0.5\n");
}
for (i = 0; i < n; ++i) {
- node = nodes[i];
+ dfs_node_t *const node = nodes[i];
ir_fprintf(file, "\tn%d [label=\"%d\"]\n", node->pre_num, get_Block_dom_tree_pre_num((ir_node*) node->node));
#if 0
ir_fprintf(file, "\tn%d [shape=box,label=\"%+F\\l%d %d/%d %d\"];\n",