projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
use xmalloc instead of malloc
[libfirm]
/
ir
/
ir
/
irdump.c
diff --git
a/ir/ir/irdump.c
b/ir/ir/irdump.c
index
c014655
..
ccb1d32
100644
(file)
--- a/
ir/ir/irdump.c
+++ b/
ir/ir/irdump.c
@@
-111,6
+111,19
@@
DUMP_NODE_EDGE_FUNC get_dump_node_edge_hook(void)
}
}
+static DUMP_NODE_EDGE_FUNC dump_block_edge_hook = NULL;
+
+void set_dump_block_edge_hook(DUMP_NODE_EDGE_FUNC func)
+{
+ dump_block_edge_hook = func;
+}
+
+DUMP_NODE_EDGE_FUNC get_dump_block_edge_hook(void)
+{
+ return dump_node_edge_hook;
+}
+
+
/** The vcg node attribute hook. */
static DUMP_IR_GRAPH_FUNC dump_ir_graph_hook = NULL;
/** The vcg node attribute hook. */
/** The vcg node attribute hook. */
static DUMP_IR_GRAPH_FUNC dump_ir_graph_hook = NULL;
/** The vcg node attribute hook. */
@@
-805,6
+818,7
@@
static const pns_lookup_t start_lut[] = {
X(X_initial_exec),
X(P_frame_base),
X(P_globals),
X(X_initial_exec),
X(P_frame_base),
X(P_globals),
+ X(P_tls),
X(T_args),
X(P_value_arg_base)
#undef X
X(T_args),
X(P_value_arg_base)
#undef X
@@
-925,7
+939,6
@@
static const pns_lookup_t bound_lut[] = {
X(M),
X(X_except),
X(res),
X(M),
X(X_except),
X(res),
- X(M_except)
#undef X
};
#undef X
};
@@
-1524,6
+1537,9
@@
dump_whole_block(FILE *F, ir_node *block) {
/* dump the blocks edges */
dump_ir_data_edges(F, block);
/* dump the blocks edges */
dump_ir_data_edges(F, block);
+ if (dump_block_edge_hook)
+ dump_block_edge_hook(F, block);
+
/* dump the nodes that go into the block */
for (node = ird_get_irn_link(block); node; node = ird_get_irn_link(node)) {
dump_node(F, node);
/* dump the nodes that go into the block */
for (node = ird_get_irn_link(block); node; node = ird_get_irn_link(node)) {
dump_node(F, node);
@@
-1660,11
+1676,8
@@
static void dump_node2type_edges(ir_node *n, void *env)
/* @@@ some consts have an entity */
break;
case iro_SymConst:
/* @@@ some consts have an entity */
break;
case iro_SymConst:
- if ( (get_SymConst_kind(n) ==symconst_type_tag)
- || (get_SymConst_kind(n) ==symconst_size))
- {
- print_node_type_edge(F,n,get_SymConst_type(n),NODE2TYPE_EDGE_ATTR);
- }
+ if (SYMCONST_HAS_TYPE(get_SymConst_kind(n)))
+ print_node_type_edge(F,n,get_SymConst_type(n),NODE2TYPE_EDGE_ATTR);
break;
case iro_Sel: {
print_node_ent_edge(F,n,get_Sel_entity(n),NODE2TYPE_EDGE_ATTR);
break;
case iro_Sel: {
print_node_ent_edge(F,n,get_Sel_entity(n),NODE2TYPE_EDGE_ATTR);
@@
-2204,7
+2217,7
@@
FILE *vcg_open (ir_graph *irg, const char * suffix1, const char *suffix2) {
if (!suffix2) suffix2 = "";
/* open file for vcg graph */
if (!suffix2) suffix2 = "";
/* open file for vcg graph */
- fname = malloc (len * 2 + strlen(suffix1) + strlen(suffix2) + 5);
+ fname =
x
malloc (len * 2 + strlen(suffix1) + strlen(suffix2) + 5);
/* strncpy (fname, nm, len); */ /* copy the filename */
j = 0;
/* strncpy (fname, nm, len); */ /* copy the filename */
j = 0;