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
/
irgmod.c
diff --git
a/ir/ir/irgmod.c
b/ir/ir/irgmod.c
index
4703857
..
9b6f9c5
100644
(file)
--- a/
ir/ir/irgmod.c
+++ b/
ir/ir/irgmod.c
@@
-188,7
+188,7
@@
static void move(ir_node *node, ir_node *from_bl, ir_node *to_bl)
* Moves node and all predecessors of node from from_bl to to_bl.
* Does not move predecessors of Phi nodes (or block nodes).
*/
* Moves node and all predecessors of node from from_bl to to_bl.
* Does not move predecessors of Phi nodes (or block nodes).
*/
-static void move_
alt
(ir_node *node, ir_node *from_bl, ir_node *to_bl)
+static void move_
edges
(ir_node *node, ir_node *from_bl, ir_node *to_bl)
{
int i, arity;
{
int i, arity;
@@
-216,26
+216,24
@@
static void move_alt(ir_node *node, ir_node *from_bl, ir_node *to_bl)
for (i = 0; i < arity; i++) {
ir_node *pred = get_irn_n(node, i);
if (get_nodes_block(pred) == from_bl)
for (i = 0; i < arity; i++) {
ir_node *pred = get_irn_n(node, i);
if (get_nodes_block(pred) == from_bl)
- move(pred, from_bl, to_bl);
+ move
_edges
(pred, from_bl, to_bl);
}
}
void part_block(ir_node *node)
{
}
}
void part_block(ir_node *node)
{
- ir_
node *new_block, *old_block
;
- ir_node
*phi, *jmp
;
- ir_
graph *rem = current_ir_graph
;
+ ir_
graph *irg = get_irn_irg(node)
;
+ ir_node
*new_block, *old_block
;
+ ir_
node *phi, *jmp
;
/* Turn off optimizations so that blocks are not merged again. */
int rem_opt = get_opt_optimize();
set_optimize(0);
/* Turn off optimizations so that blocks are not merged again. */
int rem_opt = get_opt_optimize();
set_optimize(0);
- current_ir_graph = get_irn_irg(node);
-
/* Transform the control flow */
old_block = get_nodes_block(node);
/* Transform the control flow */
old_block = get_nodes_block(node);
- new_block = new_
Block(
get_Block_n_cfgpreds(old_block),
- get_Block_cfgpred_arr(old_block));
+ new_block = new_
r_Block(irg,
get_Block_n_cfgpreds(old_block),
+
get_Block_cfgpred_arr(old_block));
/* create a jump from new_block to old_block, which is now the lower one */
jmp = new_r_Jmp(new_block);
/* create a jump from new_block to old_block, which is now the lower one */
jmp = new_r_Jmp(new_block);
@@
-254,14
+252,15
@@
void part_block(ir_node *node)
}
set_optimize(rem_opt);
}
set_optimize(rem_opt);
- current_ir_graph = rem;
}
ir_node *part_block_edges(ir_node *node)
{
}
ir_node *part_block_edges(ir_node *node)
{
+ ir_graph *irg = get_irn_irg(node);
ir_node *old_block = get_nodes_block(node);
ir_node *old_block = get_nodes_block(node);
- ir_node *new_block = new_Block(get_Block_n_cfgpreds(old_block),
- get_Block_cfgpred_arr(old_block));
+ ir_node *new_block = new_r_Block(irg,
+ get_Block_n_cfgpreds(old_block),
+ get_Block_cfgpred_arr(old_block));
const ir_edge_t *edge;
const ir_edge_t *next;
const ir_edge_t *edge;
const ir_edge_t *next;
@@
-269,7
+268,7
@@
ir_node *part_block_edges(ir_node *node)
set_irn_in(old_block, 0, NULL);
/* move node and its predecessors to new_block */
set_irn_in(old_block, 0, NULL);
/* move node and its predecessors to new_block */
- move_
alt
(node, old_block, new_block);
+ move_
edges
(node, old_block, new_block);
/* move Phi nodes to new_block */
foreach_out_edge_safe(old_block, edge, next) {
/* move Phi nodes to new_block */
foreach_out_edge_safe(old_block, edge, next) {