projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
backend: put ignore regs into beirg
[libfirm]
/
ir
/
ir
/
iredges.c
diff --git
a/ir/ir/iredges.c
b/ir/ir/iredges.c
index
1124547
..
583169b
100644
(file)
--- a/
ir/ir/iredges.c
+++ b/
ir/ir/iredges.c
@@
-472,17
+472,13
@@
void edges_notify_edge(ir_node *src, int pos, ir_node *tgt, ir_node *old_tgt, ir
}
if (edges_activated_kind(irg, EDGE_KIND_BLOCK) && is_Block(src)) {
}
if (edges_activated_kind(irg, EDGE_KIND_BLOCK) && is_Block(src)) {
- if (pos == -1) {
- /* a MacroBlock edge: ignore it here */
- } else {
- ir_node *bl_old = old_tgt ? get_nodes_block(skip_Proj(old_tgt)) : NULL;
- ir_node *bl_tgt = NULL;
+ ir_node *bl_old = old_tgt ? get_nodes_block(skip_Proj(old_tgt)) : NULL;
+ ir_node *bl_tgt = NULL;
-
if (tgt)
-
bl_tgt = is_Bad(tgt) ? tgt : get_nodes_block(skip_Proj(tgt));
+ if (tgt)
+ bl_tgt = is_Bad(tgt) ? tgt : get_nodes_block(skip_Proj(tgt));
- edges_notify_edge_kind(src, pos, bl_tgt, bl_old, EDGE_KIND_BLOCK, irg);
- }
+ edges_notify_edge_kind(src, pos, bl_tgt, bl_old, EDGE_KIND_BLOCK, irg);
}
}
}
}
@@
-622,6
+618,9
@@
static void visitor(ir_node *irn, void *data)
{
visitor_info_t *info = data;
{
visitor_info_t *info = data;
+ if (is_Deleted(irn))
+ return;
+
if (!irn_visited_else_mark(irn)) {
info->visit(irn, info->data);
}
if (!irn_visited_else_mark(irn)) {
info->visit(irn, info->data);
}