- case iro_Const: {
- int res;
- char buf[1024];
- res = tarval_snprintf(buf, sizeof(buf), get_Const_tarval(n));
- assert(res < (int) sizeof(buf) && "buffer to small for tarval_snprintf");
- fprintf(F, buf);
- } break;
+ case iro_Const:
+ ir_fprintf(F, "%T", get_Const_tarval(n));
+ break;
if (get_interprocedural_view()) {
fprintf(F, "%s %s", get_irn_opname(n), get_ent_dump_name(get_irg_entity(get_irn_irg(n))));
break;
} else
goto default_case;
if (get_interprocedural_view()) {
fprintf(F, "%s %s", get_irn_opname(n), get_ent_dump_name(get_irg_entity(get_irn_irg(n))));
break;
} else
goto default_case;
case iro_CallBegin: {
ir_node *addr = get_CallBegin_ptr(n);
ir_entity *ent = NULL;
if (get_irn_op(addr) == op_Sel)
ent = get_Sel_entity(addr);
case iro_CallBegin: {
ir_node *addr = get_CallBegin_ptr(n);
ir_entity *ent = NULL;
if (get_irn_op(addr) == op_Sel)
ent = get_Sel_entity(addr);
fprintf(F, "%s", get_irn_opname(n));
if (ent) fprintf(F, " %s", get_entity_name(ent));
break;
fprintf(F, "%s", get_irn_opname(n));
if (ent) fprintf(F, " %s", get_entity_name(ent));
break;
-void dump_vcg_header(FILE *F, const char *name, const char *orientation) {
+void dump_vcg_header(FILE *F, const char *name, const char *layout, const char *orientation) {
if (!orientation) orientation = "bottom_to_top";
/* print header */
fprintf(F,
"graph: { title: \"ir graph of %s\"\n"
"display_edge_labels: %s\n"
if (!orientation) orientation = "bottom_to_top";
/* print header */
fprintf(F,
"graph: { title: \"ir graph of %s\"\n"
"display_edge_labels: %s\n"
"infoname 1: \"Attribute\"\n"
"infoname 2: \"Verification errors\"\n"
"infoname 3: \"Debug info\"\n",
"infoname 1: \"Attribute\"\n"
"infoname 2: \"Verification errors\"\n"
"infoname 3: \"Debug info\"\n",
fprintf(F, "colorentry %s: %s\n", color_names[i], color_rgb[i]);
}
}
fprintf(F, "colorentry %s: %s\n", color_names[i], color_rgb[i]);
}
}
- dump_vcg_header(out, get_irg_dump_name(irg), NULL);
+ dump_vcg_header(out, get_irg_dump_name(irg), NULL, NULL);
- dump_vcg_header(out, get_irg_dump_name(irg), NULL);
+ dump_vcg_header(out, get_irg_dump_name(irg), NULL, NULL);
- dump_vcg_header(F, get_irg_dump_name(irg), NULL);
+ dump_vcg_header(F, get_irg_dump_name(irg), NULL, NULL);
- dump_vcg_header(out, get_irg_dump_name(irg), NULL);
+ dump_vcg_header(out, get_irg_dump_name(irg), NULL, NULL);
/* dump common ir graph */
irg_walk(get_irg_end(irg), NULL, dump_whole_node, out);
/* dump common ir graph */
irg_walk(get_irg_end(irg), NULL, dump_whole_node, out);
- dump_vcg_header(out, get_irg_dump_name(irg), NULL);
+ dump_vcg_header(out, get_irg_dump_name(irg), NULL, NULL);
- dump_vcg_header(f, get_irg_dump_name(irg), NULL);
+ dump_vcg_header(f, get_irg_dump_name(irg), NULL, NULL);
F = vcg_open(get_irn_irg(root), suffix, buf);
if (F != NULL) {
pset *mark_set = pset_new_ptr(1);
F = vcg_open(get_irn_irg(root), suffix, buf);
if (F != NULL) {
pset *mark_set = pset_new_ptr(1);
- dump_vcg_header(F, get_irg_dump_name(get_irn_irg(root)), NULL);
+ dump_vcg_header(F, get_irg_dump_name(get_irn_irg(root)), NULL, NULL);
descend_and_dump(F, root, depth, mark_set);
dump_vcg_footer(F);
fclose(F);
descend_and_dump(F, root, depth, mark_set);
dump_vcg_footer(F);
fclose(F);
- dump_vcg_header(f, get_irg_dump_name(irg), NULL);
+ dump_vcg_header(f, get_irg_dump_name(irg), "Hierarchic", NULL);
/* walk over the blocks in the graph */
type_walk_irg(irg, dump_type_info, NULL, f);
/* walk over the blocks in the graph */
type_walk_irg(irg, dump_type_info, NULL, f);
type_walk(dump_type_info, NULL, f);
inc_irg_visited(get_const_code_irg());
type_walk(dump_type_info, NULL, f);
inc_irg_visited(get_const_code_irg());
- dump_vcg_header(f, "class_hierarchy", NULL);
+ dump_vcg_header(f, "class_hierarchy", "Hierarchic", NULL);
le = get_loop_element(loop, i);
son = le.son;
if (get_kind(son) == k_ir_loop) {
/* We are a loop son -> Recurse */
le = get_loop_element(loop, i);
son = le.son;
if (get_kind(son) == k_ir_loop) {
/* We are a loop son -> Recurse */
if (!loop_node_started) {
/* Start a new node which contains all firm nodes of the current loop */
fprintf(F, "node: { title: \"");
if (!loop_node_started) {
/* Start a new node which contains all firm nodes of the current loop */
fprintf(F, "node: { title: \"");
- dump_vcg_header(f, get_irg_dump_name(irg), "top_to_bottom");
+ dump_vcg_header(f, get_irg_dump_name(irg), "Tree", "top_to_bottom");
void dump_callgraph_loop_tree(const char *suffix) {
FILE *F;
F = vcg_open_name("Callgraph_looptree", suffix);
void dump_callgraph_loop_tree(const char *suffix) {
FILE *F;
F = vcg_open_name("Callgraph_looptree", suffix);
- dump_vcg_header(F, "callgraph looptree", "top_to_bottom");
+ dump_vcg_header(F, "callgraph looptree", "Tree", "top_to_bottom");
/* collect all nodes to dump */
collect_nodeloop(F, l, loopnodes);
/* collect all nodes to dump */
collect_nodeloop(F, l, loopnodes);