summaryrefslogtreecommitdiffhomepage
path: root/ir/be/bearch.c
diff options
context:
space:
mode:
authorChristoph Mallon <mallon@cs.uni-saarland.de>2015-01-11 09:27:59 +0100
committerChristoph Mallon <mallon@cs.uni-saarland.de>2015-01-11 23:13:52 +0100
commitfd5e3f96fa75416017d52b8cccd20db23ab33a6f (patch)
treed942a3d65525ccf4ed2b478a908ed9e0b2a96b21 /ir/be/bearch.c
parent9f038f60e46e5a3eb29b97bfb250c7323285cb43 (diff)
be: Add the function arch_copy_irn_out_info() to copy one requirement and register from another node.
* This avoids allocating new requirements. * This renders be_set_constr_single_reg_out() obsolete.
Diffstat (limited to 'ir/be/bearch.c')
-rw-r--r--ir/be/bearch.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/ir/be/bearch.c b/ir/be/bearch.c
index 6da2a99..a6c323f 100644
--- a/ir/be/bearch.c
+++ b/ir/be/bearch.c
@@ -147,3 +147,10 @@ ir_node *be_get_start_proj(ir_graph *const irg, be_start_info_t *const info)
}
return info->irn;
}
+
+void arch_copy_irn_out_info(ir_node *const dst, unsigned const dst_pos, ir_node const *const src)
+{
+ reg_out_info_t *const src_info = get_out_info(src);
+ reg_out_info_t *const dst_info = get_out_info_n(dst, dst_pos);
+ *dst_info = *src_info;
+}