From 4ad7a2cfd0b3ac14fbe767d50e4994f8297d37f6 Mon Sep 17 00:00:00 2001 From: Heejin Ahn Date: Thu, 7 Nov 2019 22:30:18 -0800 Subject: Add Stack IR optimization support for EH (#2425) --- ...ir_print-stack-ir_enable-exception-handling.txt | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 test/passes/generate-stack-ir_optimize-stack-ir_print-stack-ir_enable-exception-handling.txt (limited to 'test/passes/generate-stack-ir_optimize-stack-ir_print-stack-ir_enable-exception-handling.txt') diff --git a/test/passes/generate-stack-ir_optimize-stack-ir_print-stack-ir_enable-exception-handling.txt b/test/passes/generate-stack-ir_optimize-stack-ir_print-stack-ir_enable-exception-handling.txt new file mode 100644 index 000000000..2a9cf6be7 --- /dev/null +++ b/test/passes/generate-stack-ir_optimize-stack-ir_print-stack-ir_enable-exception-handling.txt @@ -0,0 +1,47 @@ +(module + (type $FUNCSIG$v (func)) + (type $FUNCSIG$vi (func (param i32))) + (event $e0 (attr 0) (param i32)) + (func $eh (; 0 ;) (type $FUNCSIG$v) + (local $exn exnref) + try + i32.const 0 + throw $e0 + catch + local.set $exn + block $l0 (result i32) + local.get $exn + br_on_exn $l0 $e0 + rethrow + end + drop + end + ) +) +(module + (type $FUNCSIG$v (func)) + (type $FUNCSIG$vi (func (param i32))) + (event $e0 (attr 0) (param i32)) + (func $eh (; 0 ;) (; has Stack IR ;) (type $FUNCSIG$v) + (local $exn exnref) + (try + (throw $e0 + (i32.const 0) + ) + (catch + (local.set $exn + (exnref.pop) + ) + (drop + (block $l0 (result i32) + (rethrow + (br_on_exn $l0 $e0 + (local.get $exn) + ) + ) + ) + ) + ) + ) + ) +) -- cgit v1.2.3