projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix irio not working correctly anymore after MacroBlocks were removed
[libfirm]
/
ir
/
opt
/
critical_edges.c
diff --git
a/ir/opt/critical_edges.c
b/ir/opt/critical_edges.c
index
cca885a
..
4717244
100644
(file)
--- a/
ir/opt/critical_edges.c
+++ b/
ir/opt/critical_edges.c
@@
-46,10
+46,11
@@
typedef struct cf_env {
* @param n IR node
* @param env Environment of walker.
*/
* @param n IR node
* @param env Environment of walker.
*/
-static void walk_critical_cf_edges(ir_node *n, void *env) {
+static void walk_critical_cf_edges(ir_node *n, void *env)
+{
int arity, i;
ir_node *pre, *block, *jmp;
int arity, i;
ir_node *pre, *block, *jmp;
- cf_env *cenv = env;
+ cf_env *cenv =
(cf_env*)
env;
ir_graph *irg = get_irn_irg(n);
/* Block has multiple predecessors */
ir_graph *irg = get_irn_irg(n);
/* Block has multiple predecessors */
@@
-85,7
+86,7
@@
insert:
/* set predecessor of new block */
block = new_r_Block(irg, 1, &pre);
/* insert new jmp node to new block */
/* set predecessor of new block */
block = new_r_Block(irg, 1, &pre);
/* insert new jmp node to new block */
- jmp = new_r_Jmp(
irg,
block);
+ jmp = new_r_Jmp(block);
/* set successor of new block */
set_irn_n(n, i, jmp);
cenv->changed = 1;
/* set successor of new block */
set_irn_n(n, i, jmp);
cenv->changed = 1;
@@
-94,7
+95,8
@@
insert:
} /* n is a multi-entry block */
}
} /* n is a multi-entry block */
}
-void remove_critical_cf_edges_ex(ir_graph *irg, int ignore_exception_edges) {
+void remove_critical_cf_edges_ex(ir_graph *irg, int ignore_exception_edges)
+{
cf_env env;
env.ignore_exc_edges = (char)ignore_exception_edges;
cf_env env;
env.ignore_exc_edges = (char)ignore_exception_edges;
@@
-110,6
+112,7
@@
void remove_critical_cf_edges_ex(ir_graph *irg, int ignore_exception_edges) {
}
}
}
}
-void remove_critical_cf_edges(ir_graph *irg) {
+void remove_critical_cf_edges(ir_graph *irg)
+{
remove_critical_cf_edges_ex(irg, 1);
}
remove_critical_cf_edges_ex(irg, 1);
}