diff options
Diffstat (limited to 'llvm/test/CodeGen/WebAssembly/exception.ll')
-rw-r--r-- | llvm/test/CodeGen/WebAssembly/exception.ll | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/WebAssembly/exception.ll b/llvm/test/CodeGen/WebAssembly/exception.ll index 2519ffcc78c..a0256d23891 100644 --- a/llvm/test/CodeGen/WebAssembly/exception.ll +++ b/llvm/test/CodeGen/WebAssembly/exception.ll @@ -19,9 +19,11 @@ define void @test_throw() { } ; CHECK-LABEL: test_catch_rethrow: +; CHECK: get_global $push{{.+}}=, __stack_pointer@GLOBAL ; CHECK: try ; CHECK: call foo@FUNCTION ; CHECK: i32.catch $push{{.+}}=, 0 +; CHECK: set_global __stack_pointer@GLOBAL ; CHECK-DAG: i32.store __wasm_lpad_context ; CHECK-DAG: i32.store __wasm_lpad_context+4 ; CHECK: i32.call $push{{.+}}=, _Unwind_CallPersonality@FUNCTION @@ -63,6 +65,7 @@ try.cont: ; preds = %entry, %catch ; CHECK: try ; CHECK: call foo@FUNCTION ; CHECK: catch_all +; CHECK: set_global __stack_pointer@GLOBAL ; CHECK: i32.call $push{{.+}}=, _ZN7CleanupD1Ev@FUNCTION ; CHECK: rethrow ; CHECK: end_try @@ -161,10 +164,12 @@ terminate10: ; preds = %ehcleanup7 ; CHECK: call foo@FUNCTION ; CHECK: i32.catch ; CHECK-NOT: get_global $push{{.+}}=, __stack_pointer@GLOBAL +; CHECK: set_global __stack_pointer@GLOBAL ; CHECK: try ; CHECK: call foo@FUNCTION ; CHECK: catch_all ; CHECK-NOT: get_global $push{{.+}}=, __stack_pointer@GLOBAL +; CHECK: set_global __stack_pointer@GLOBAL ; CHECK: call __cxa_end_catch@FUNCTION ; CHECK-NOT: set_global __stack_pointer@GLOBAL, $pop{{.+}} ; CHECK: end_try |