summaryrefslogtreecommitdiffhomepage
path: root/ir/be
diff options
context:
space:
mode:
authorChristoph Mallon <christoph.mallon@gmx.de>2019-03-04 20:39:10 +0100
committerChristoph Mallon <christoph.mallon@gmx.de>2019-04-05 20:44:55 +0200
commitde004ab7d7fac88f234627738ec444ad2bf54771 (patch)
tree0c53cd11bdd8d543b63d9ea175d6a7b47b2a35e4 /ir/be
parent2d1d9840a3fb6aa791ff7c077a5e90d0fa49d02e (diff)
ir: Allow ASM nodes as control flow nodes.
This is done by treating them as fragile.
Diffstat (limited to 'ir/be')
-rw-r--r--ir/be/ia32/ia32_intrinsics.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/ir/be/ia32/ia32_intrinsics.c b/ir/be/ia32/ia32_intrinsics.c
index 6575ac5..22aa705 100644
--- a/ir/be/ia32/ia32_intrinsics.c
+++ b/ir/be/ia32/ia32_intrinsics.c
@@ -493,6 +493,8 @@ static void ia32_lower_ASM(ir_node *const asmn)
ir_cons_flags flags = cons_none;
if (get_irn_pinned(asmn) == op_pin_state_floats)
flags |= cons_floats;
+ if (ir_throws_exception(asmn))
+ flags |= cons_throws_exception;
dbg_info *const dbgi = get_irn_dbg_info(asmn);
ir_node *const block = get_nodes_block(asmn);