static dfs_edge_t *get_edge(const dfs_t *self, const void *src, const void *tgt)
{
- unsigned hash = HASH_COMBINE(HASH_PTR(src), HASH_PTR(tgt));
+ unsigned hash = hash_combine(hash_ptr(src), hash_ptr(tgt));
dfs_edge_t templ;
templ.src = src;
stat_ev_cnt_decl(fwd);
stat_ev_cnt_decl(cross);
- foreach_set (dfs->edges, dfs_edge_t*, edge) {
+ foreach_set (dfs->edges, dfs_edge_t, edge) {
dfs_node_t *src = edge->s;
dfs_node_t *tgt = edge->t;
assert(res->pre_num == res->post_num);
res->pre_order = XMALLOCN(dfs_node_t*, res->pre_num);
res->post_order = XMALLOCN(dfs_node_t*, res->post_num);
- foreach_set (res->nodes, dfs_node_t*, node) {
+ foreach_set (res->nodes, dfs_node_t, node) {
assert(node->pre_num < res->pre_num);
assert(node->post_num < res->post_num);
void dfs_free(dfs_t *dfs)
{
+ obstack_free(&dfs->obst, NULL);
del_set(dfs->nodes);
del_set(dfs->edges);
xfree(dfs->pre_order);
int i, n = 0;
ir_fprintf(file, "digraph G {\nranksep=0.5\n");
- foreach_set (dfs->nodes, dfs_node_t*, node) {
+ foreach_set (dfs->nodes, dfs_node_t, node) {
nodes[n++] = node;
}
#endif
}
- foreach_set (dfs->edges, dfs_edge_t*, edge)
+ foreach_set (dfs->edges, dfs_edge_t, edge)
dfs_dump_edge(edge, file);
ir_fprintf(file, "}\n");