summaryrefslogtreecommitdiffhomepage
path: root/ir/be/bestack.c
diff options
context:
space:
mode:
authorMatthias Braun <matze@braunis.de>2011-08-15 13:41:11 +0200
committerMatthias Braun <matze@braunis.de>2011-08-15 14:03:03 +0200
commit41dc42afc8d00e0f364711ed0c919e4e29cb20e4 (patch)
tree89b7e8ab7e295f9fcfe18a40bfb001b91c4e5f34 /ir/be/bestack.c
parented7cc1daadbdd28b5550157080dcbbbea348c097 (diff)
big refactoring of arch_XXX functions
This tries to get the names in a consistent format. We basically have 2 views on register allocation/constraints now: 1) Register Requirements and Assigments are per-instruction. Each instruction has requirements on its inputs and outputs, register get assigned for outputs of an instruction (assignment is an attribute of an instruction, not of the Proj-nodes). The internal datastructures model this form! The functions here have the form: arch_get_irn_register_req_in(node, input_nr) arch_get_irn_register_in(node, input_nr) arch_get_irn_register_req_out(node, output_nr) arch_set_irn_register_out(node, output_nr, register) 2) Register Requirements and Assignments are on firm-values. This view allows to query/assign requirements and registers at the Proj nodes instead of the repsective predecessors. This is a convenience interface modeled on top of the other! The functions have the form: arch_get_irn_register_req(node) arch_get_irn_register(node) arch_set_irn_register(node, register)
Diffstat (limited to 'ir/be/bestack.c')
-rw-r--r--ir/be/bestack.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/ir/be/bestack.c b/ir/be/bestack.c
index 8c39163..7cb40ef 100644
--- a/ir/be/bestack.c
+++ b/ir/be/bestack.c
@@ -283,12 +283,12 @@ static void collect_stack_nodes_walker(ir_node *node, void *data)
insn = get_Proj_pred(node);
}
- if (arch_irn_get_n_outs(insn) == 0)
+ if (arch_get_irn_n_outs(insn) == 0)
return;
if (get_irn_mode(node) == mode_T)
return;
- req = arch_get_register_req_out(node);
+ req = arch_get_irn_register_req(node);
if (! (req->type & arch_register_req_type_produces_sp))
return;