projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
simplify merge_env struct
[libfirm]
/
ir
/
opt
/
critical_edges.c
diff --git
a/ir/opt/critical_edges.c
b/ir/opt/critical_edges.c
index
b82f3a7
..
765f032
100644
(file)
--- a/
ir/opt/critical_edges.c
+++ b/
ir/opt/critical_edges.c
@@
-69,7
+69,7
@@
static void walk_critical_cf_edges(ir_node *n, void *env)
cfop = get_irn_op(skip_Proj(pre));
if (is_op_fragile(cfop)) {
cfop = get_irn_op(skip_Proj(pre));
if (is_op_fragile(cfop)) {
- if (cenv->ignore_exc_edges &&
get_Proj_proj(pre) == pn_Generic_X_except
)
+ if (cenv->ignore_exc_edges &&
is_x_except_Proj(pre)
)
continue;
goto insert;
}
continue;
goto insert;
}
@@
-105,10
+105,8
@@
void remove_critical_cf_edges_ex(ir_graph *irg, int ignore_exception_edges)
irg_block_walk_graph(irg, NULL, walk_critical_cf_edges, &env);
if (env.changed) {
/* control flow changed */
irg_block_walk_graph(irg, NULL, walk_critical_cf_edges, &env);
if (env.changed) {
/* control flow changed */
- set_irg_outs_inconsistent(irg);
set_irg_extblk_inconsistent(irg);
set_irg_doms_inconsistent(irg);
set_irg_extblk_inconsistent(irg);
set_irg_doms_inconsistent(irg);
- set_irg_loopinfo_inconsistent(irg);
}
}
}
}