summaryrefslogtreecommitdiffhomepage
path: root/ir/be/beasm.c
diff options
context:
space:
mode:
authorChristoph Mallon <christoph.mallon@gmx.de>2019-03-04 09:13:02 +0100
committerChristoph Mallon <christoph.mallon@gmx.de>2019-04-05 20:44:54 +0200
commitfd82a980b216595e52e27c9ea0e249db0dccda74 (patch)
treedd26fe8287bdfcc7f28097f89d7732e3910cc5fa /ir/be/beasm.c
parent60d0bc93afef8023bf7a940a85c94724490becd1 (diff)
beasm: Tell the backends how to handle the fallthrough exec output of be_Asm.
Diffstat (limited to 'ir/be/beasm.c')
-rw-r--r--ir/be/beasm.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/ir/be/beasm.c b/ir/be/beasm.c
index 1ea9ffe..2073116 100644
--- a/ir/be/beasm.c
+++ b/ir/be/beasm.c
@@ -355,7 +355,7 @@ ir_node *be_make_asm(ir_node const *const node, be_asm_info_t const *const info,
return new_node;
}
-void be_emit_asm(ir_node const *const asmn, be_emit_asm_operand_func *const emit_asm_operand)
+ir_node *be_emit_asm(ir_node const *const asmn, be_emit_asm_operand_func *const emit_asm_operand)
{
be_emit_cstring("#APP");
be_emit_finish_line_gas(asmn);
@@ -412,6 +412,9 @@ void be_emit_asm(ir_node const *const asmn, be_emit_asm_operand_func *const emit
be_emit_cstring("\n#NO_APP\n");
be_emit_write_line();
+
+ /* Return the fallthrough proj if present. */
+ return get_Proj_for_pn(asmn, pn_be_Asm_X_regular);
}
static char const *be_get_constraint_name(be_asm_operand_kind_t const kind)