summaryrefslogtreecommitdiffhomepage
path: root/ir/be/beasm.c
diff options
context:
space:
mode:
authorChristoph Mallon <mallon@cs.uni-saarland.de>2015-05-29 14:20:48 +0200
committerChristoph Mallon <mallon@cs.uni-saarland.de>2015-06-05 16:52:34 +0200
commitac56a32376ba3549095e6be4ca87e7bbdbda3ba7 (patch)
tree29ed3ed424b223b4ccadffc2b19df24726b1d9ed /ir/be/beasm.c
parent546a76f24f2420a46d78a14abc382ca2f26a44df (diff)
be: Let be_make_asm() append the memory input and output.
Diffstat (limited to 'ir/be/beasm.c')
-rw-r--r--ir/be/beasm.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/ir/be/beasm.c b/ir/be/beasm.c
index 8f2d19e..266ea04 100644
--- a/ir/be/beasm.c
+++ b/ir/be/beasm.c
@@ -150,8 +150,13 @@ void be_parse_asm_constraints_internal(be_asm_constraint_t *const constraint, id
constraint->immediate_type = immediate_type;
}
-ir_node *be_make_asm(ir_node const *const node, ir_node **const in, arch_register_req_t const **const in_reqs, arch_register_req_t const **const out_reqs, void *const operands)
+ir_node *be_make_asm(ir_node const *const node, ir_node **in, arch_register_req_t const **in_reqs, arch_register_req_t const **out_reqs, void *const operands)
{
+ /* Add memory input and output. */
+ ARR_APP1(ir_node*, in, be_transform_node(get_ASM_mem(node)));
+ ARR_APP1(arch_register_req_t const*, in_reqs, arch_no_register_req);
+ ARR_APP1(arch_register_req_t const*, out_reqs, arch_no_register_req);
+
dbg_info *const dbgi = get_irn_dbg_info(node);
ir_node *const block = be_transform_nodes_block(node);
unsigned const n_ins = ARR_LEN(in);