[llvm] [WebAssembly] Rename legacy EH tests (PR #107166)
Heejin Ahn via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 3 16:22:18 PDT 2024
https://github.com/aheejin created https://github.com/llvm/llvm-project/pull/107166
Give each test in `cfg-stackify-eh-legacy.ll` a name rather than something like `test5`, because I plan to copy many of these test into a new file that tests for the new EH (exnref) and some of the tests here are not applicable to the new EH so the numbering will be different, which can make things confusing.
Also this removes `test_` prefixes in the test function names in `exception-legacy.ll`, because, well, we all know they are tests.
>From 408849ba1edfc5b6243e6f8f905aeeb992949583 Mon Sep 17 00:00:00 2001
From: Heejin Ahn <aheejin at gmail.com>
Date: Tue, 3 Sep 2024 23:19:38 +0000
Subject: [PATCH] [WebAssembly] Rename legacy EH tests
Give each test in `cfg-stackify-eh-legacy.ll` a name rather than
something like `test5`, because I plan to copy many of these test into a
new file that tests for the new EH (exnref) and some of the tests here
are not applicable to the new EH so the numbering will be different,
which can make things confusing.
Also this removes `test_` prefixes in the test function names in
`exception-legacy.ll`, because, well, we all know they are tests.
---
.../WebAssembly/cfg-stackify-eh-legacy.ll | 122 +++++++++---------
.../CodeGen/WebAssembly/exception-legacy.ll | 40 +++---
2 files changed, 82 insertions(+), 80 deletions(-)
diff --git a/llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.ll b/llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.ll
index 21a0949debc128..cef92f459e4aa3 100644
--- a/llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.ll
+++ b/llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.ll
@@ -16,7 +16,7 @@ target triple = "wasm32-unknown-unknown"
; Simple test case with two catch clauses
;
; void foo();
-; void test0() {
+; void two_catches() {
; try {
; foo();
; } catch (int) {
@@ -24,7 +24,7 @@ target triple = "wasm32-unknown-unknown"
; }
; }
-; CHECK-LABEL: test0:
+; CHECK-LABEL: two_catches:
; CHECK: try
; CHECK: call foo
; CHECK: catch
@@ -42,7 +42,7 @@ target triple = "wasm32-unknown-unknown"
; CHECK: end_block # label[[L2]]:
; CHECK: rethrow 0 # to caller
; CHECK: end_try # label[[L1]]:
-define void @test0() personality ptr @__gxx_wasm_personality_v0 {
+define void @two_catches() personality ptr @__gxx_wasm_personality_v0 {
entry:
invoke void @foo()
to label %try.cont unwind label %catch.dispatch
@@ -82,7 +82,7 @@ try.cont: ; preds = %catch, %catch2, %en
}
; Nested try-catches within a catch
-; void test1() {
+; void nested_catch() {
; try {
; foo();
; } catch (int) {
@@ -94,7 +94,7 @@ try.cont: ; preds = %catch, %catch2, %en
; }
; }
-; CHECK-LABEL: test1:
+; CHECK-LABEL: nested_catch:
; CHECK: try
; CHECK: call foo
; CHECK: catch
@@ -133,7 +133,7 @@ try.cont: ; preds = %catch, %catch2, %en
; CHECK: end_block # label[[L1]]:
; CHECK: call __cxa_end_catch
; CHECK: end_try
-define void @test1() personality ptr @__gxx_wasm_personality_v0 {
+define void @nested_catch() personality ptr @__gxx_wasm_personality_v0 {
entry:
invoke void @foo()
to label %try.cont11 unwind label %catch.dispatch
@@ -206,7 +206,7 @@ unreachable: ; preds = %rethrow5
}
; Nested loop within a catch clause
-; void test2() {
+; void loop_within_catch() {
; try {
; foo();
; } catch (...) {
@@ -215,7 +215,7 @@ unreachable: ; preds = %rethrow5
; }
; }
-; CHECK-LABEL: test2:
+; CHECK-LABEL: loop_within_catch:
; CHECK: try
; CHECK: call foo
; CHECK: catch
@@ -243,7 +243,7 @@ unreachable: ; preds = %rethrow5
; CHECK: br 0 # 0: up to label[[L0]]
; CHECK: end_loop
; CHECK: end_try # label[[L3]]:
-define void @test2() personality ptr @__gxx_wasm_personality_v0 {
+define void @loop_within_catch() personality ptr @__gxx_wasm_personality_v0 {
entry:
invoke void @foo()
to label %try.cont unwind label %catch.dispatch
@@ -297,7 +297,7 @@ terminate: ; preds = %ehcleanup
; TRY marker should be placed at bb0 because there's a branch from bb0 to bb2,
; and scopes cannot be interleaved.
-; NOOPT-LABEL: test3:
+; NOOPT-LABEL: block_try_markers:
; NOOPT: try
; NOOPT: block
; NOOPT: block
@@ -309,7 +309,7 @@ terminate: ; preds = %ehcleanup
; NOOPT: call bar
; NOOPT: catch {{.*}}
; NOOPT: end_try
-define void @test3() personality ptr @__gxx_wasm_personality_v0 {
+define void @block_try_markers() personality ptr @__gxx_wasm_personality_v0 {
bb0:
br i1 undef, label %bb1, label %bb2
@@ -343,13 +343,14 @@ try.cont: ; preds = %catch.start, %bb4,
; Tests if try/end_try markers are placed correctly wrt loop/end_loop markers,
; when try and loop markers are in the same BB and end_try and end_loop are in
; another BB.
+; CHECK-LABEL: loop_try_markers:
; CHECK: loop
; CHECK: try
; CHECK: call foo
; CHECK: catch
; CHECK: end_try
; CHECK: end_loop
-define void @test4(ptr %p) personality ptr @__gxx_wasm_personality_v0 {
+define void @loop_try_markers(ptr %p) personality ptr @__gxx_wasm_personality_v0 {
entry:
store volatile i32 0, ptr %p
br label %loop
@@ -388,7 +389,7 @@ try.cont: ; preds = %catch.start, %loop
; try-catch with try-delegate that rethrows an exception to the caller to fix
; this.
-; NOSORT-LABEL: test5:
+; NOSORT-LABEL: unwind_mismatches_0:
; NOSORT: try
; --- try-delegate starts (catch unwind mismatch)
; NOSORT try
@@ -407,7 +408,7 @@ try.cont: ; preds = %catch.start, %loop
; NOSORT: end_try
; NOSORT: return
-define void @test5() personality ptr @__gxx_wasm_personality_v0 {
+define void @unwind_mismatches_0() personality ptr @__gxx_wasm_personality_v0 {
bb0:
invoke void @foo()
to label %bb1 unwind label %catch.dispatch0
@@ -446,7 +447,7 @@ try.cont: ; preds = %catch.start1, %catc
; And the return value of 'baz' should NOT be stackified because the BB is split
; during fixing unwind mismatches.
-; NOSORT-LABEL: test6:
+; NOSORT-LABEL: unwind_mismatches_1:
; NOSORT: try
; NOSORT: call foo
; --- try-delegate starts (call unwind mismatch)
@@ -462,7 +463,7 @@ try.cont: ; preds = %catch.start1, %catc
; NOSORT: return
; NOSORT: end_try
-define void @test6() personality ptr @__gxx_wasm_personality_v0 {
+define void @unwind_mismatches_1() personality ptr @__gxx_wasm_personality_v0 {
bb0:
invoke void @foo()
to label %bb1 unwind label %catch.dispatch0
@@ -486,11 +487,11 @@ try.cont: ; preds = %catch.start0
ret void
}
-; The same as test5, but we have one more call 'call @foo' in bb1 which unwinds
-; to the caller. IN this case bb1 has two call unwind mismatches: 'call @foo'
-; unwinds to the caller and 'call @bar' unwinds to catch C0.
+; The same as unwind_mismatches_0, but we have one more call 'call @foo' in bb1
+; which unwinds to the caller. IN this case bb1 has two call unwind mismatches:
+ ; 'call @foo' unwinds to the caller and 'call @bar' unwinds to catch C0.
-; NOSORT-LABEL: test7:
+; NOSORT-LABEL: unwind_mismatches_2:
; NOSORT: try
; --- try-delegate starts (catch unwind mismatch)
; NOSORT try
@@ -514,7 +515,7 @@ try.cont: ; preds = %catch.start0
; NOSORT: end_try
; NOSORT: return
-define void @test7() personality ptr @__gxx_wasm_personality_v0 {
+define void @unwind_mismatches_2() personality ptr @__gxx_wasm_personality_v0 {
bb0:
invoke void @foo()
to label %bb1 unwind label %catch.dispatch0
@@ -546,16 +547,17 @@ try.cont: ; preds = %catch.start1, %catc
ret void
}
-; Similar situation as @test6. Here 'call @qux''s original unwind destination
-; was the caller, but after control flow linearization, their unwind destination
-; incorrectly becomes 'C0' within the function. We fix this by wrapping the call
-; with a nested try-delegate that rethrows the exception to the caller.
+; Similar situation as @unwind_mismatches_1. Here 'call @qux''s original unwind
+; destination was the caller, but after control flow linearization, their unwind
+; destination incorrectly becomes 'C0' within the function. We fix this by
+; wrapping the call with a nested try-delegate that rethrows the exception to
+; the caller.
; Because 'call @qux' pops an argument pushed by 'i32.const 5' from stack, the
; nested 'try' should be placed before `i32.const 5', not between 'i32.const 5'
; and 'call @qux'.
-; NOSORT-LABEL: test8:
+; NOSORT-LABEL: unwind_mismatches_3:
; NOSORT: try i32
; NOSORT: call foo
; --- try-delegate starts (call unwind mismatch)
@@ -569,7 +571,7 @@ try.cont: ; preds = %catch.start1, %catc
; NOSORT: return
; NOSORT: end_try
-define i32 @test8() personality ptr @__gxx_wasm_personality_v0 {
+define i32 @unwind_mismatches_3() personality ptr @__gxx_wasm_personality_v0 {
bb0:
invoke void @foo()
to label %bb1 unwind label %catch.dispatch0
@@ -594,8 +596,8 @@ try.cont: ; preds = %catch.start0
; Tests the case when TEE stackifies a register in RegStackify but it gets
; unstackified in fixCallUnwindMismatches in CFGStackify.
-; NOSORT-LOCALS-LABEL: test9:
-define void @test9(i32 %x) personality ptr @__gxx_wasm_personality_v0 {
+; NOSORT-LOCALS-LABEL: unstackify_when_fixing_unwind_mismatch:
+define void @unstackify_when_fixing_unwind_mismatch(i32 %x) personality ptr @__gxx_wasm_personality_v0 {
bb0:
invoke void @foo()
to label %bb1 unwind label %catch.dispatch0
@@ -640,7 +642,7 @@ try.cont: ; preds = %catch.start0
; first catch because it is a non-C++ exception, it shouldn't unwind to the next
; catch, but it should unwind to the caller.
-; NOSORT-LABEL: test10:
+; NOSORT-LABEL: unwind_mismatches_4:
; NOSORT: try
; --- try-delegate starts (catch unwind mismatch)
; NOSORT: try
@@ -667,7 +669,7 @@ try.cont: ; preds = %catch.start0
; NOSORT: end_try
; NOSORT: return
-define void @test10() personality ptr @__gxx_wasm_personality_v0 {
+define void @unwind_mismatches_4() personality ptr @__gxx_wasm_personality_v0 {
bb0:
invoke void @foo()
to label %bb1 unwind label %catch.dispatch0
@@ -709,7 +711,7 @@ try.cont: ; preds = %catch.start1, %catc
; (before 'cont' is sorted) and there should not be any unwind destination
; mismatches in CFGStackify.
-; NOOPT-LABEL: test11:
+; NOOPT-LABEL: cfg_sort_order:
; NOOPT: block
; NOOPT: try
; NOOPT: call foo
@@ -718,7 +720,7 @@ try.cont: ; preds = %catch.start1, %catc
; NOOPT: call foo
; NOOPT: end_block
; NOOPT: return
-define void @test11(i32 %arg) personality ptr @__gxx_wasm_personality_v0 {
+define void @cfg_sort_order(i32 %arg) personality ptr @__gxx_wasm_personality_v0 {
entry:
%tobool = icmp ne i32 %arg, 0
br i1 %tobool, label %if.then, label %if.end
@@ -753,7 +755,7 @@ if.end: ; preds = %cont, %catch.start,
; invoke.cont BB fall within try~end_try, but they shouldn't cause crashes or
; unwinding destination mismatches in CFGStackify.
-; NOSORT-LABEL: test12:
+; NOSORT-LABEL: mem_intrinsics:
; NOSORT: try
; NOSORT: call foo
; NOSORT: call {{.*}} memcpy
@@ -763,7 +765,7 @@ if.end: ; preds = %cont, %catch.start,
; NOSORT: catch_all
; NOSORT: rethrow 0
; NOSORT: end_try
-define void @test12(ptr %a, ptr %b) personality ptr @__gxx_wasm_personality_v0 {
+define void @mem_intrinsics(ptr %a, ptr %b) personality ptr @__gxx_wasm_personality_v0 {
entry:
%o = alloca %class.Object, align 1
invoke void @foo()
@@ -787,11 +789,11 @@ ehcleanup: ; preds = %entry
; 'nothrow_i32' and 'fun', because the return value of 'nothrow_i32' is
; stackified and pushed onto the stack to be consumed by the call to 'fun'.
-; CHECK-LABEL: test13:
+; CHECK-LABEL: try_marker_with_stackified_input:
; CHECK: try
; CHECK: call $push{{.*}}=, nothrow_i32
; CHECK: call fun, $pop{{.*}}
-define void @test13() personality ptr @__gxx_wasm_personality_v0 {
+define void @try_marker_with_stackified_input() personality ptr @__gxx_wasm_personality_v0 {
entry:
%call = call i32 @nothrow_i32()
invoke void @fun(i32 %call)
@@ -809,7 +811,7 @@ terminate: ; preds = %entry
; This crashed on debug mode (= when NDEBUG is not defined) when the logic for
; computing the innermost region was not correct, in which a loop region
; contains an exception region. This should pass CFGSort without crashing.
-define void @test14() personality ptr @__gxx_wasm_personality_v0 {
+define void @loop_exception_region() personality ptr @__gxx_wasm_personality_v0 {
entry:
%e = alloca %class.MyClass, align 4
br label %for.cond
@@ -886,8 +888,8 @@ terminate7: ; preds = %ehcleanup
; ...
; bb2: <- Continuation BB
; end
-; CHECK-LABEL: test15:
-define void @test15(i32 %n) personality ptr @__gxx_wasm_personality_v0 {
+; CHECK-LABEL: remove_unnecessary_instrs:
+define void @remove_unnecessary_instrs(i32 %n) personality ptr @__gxx_wasm_personality_v0 {
entry:
invoke void @foo()
to label %for.body unwind label %catch.dispatch
@@ -925,7 +927,7 @@ try.cont: ; preds = %catch.start, %for.e
}
; void foo();
-; void test16() {
+; void remove_unnecessary_br() {
; try {
; foo();
; try {
@@ -955,8 +957,8 @@ try.cont: ; preds = %catch.start, %for.e
; bb3: <- Continuation BB
; end
;
-; CHECK-LABEL: test16:
-define void @test16() personality ptr @__gxx_wasm_personality_v0 {
+; CHECK-LABEL: remove_unnecessary_br:
+define void @remove_unnecessary_br() personality ptr @__gxx_wasm_personality_v0 {
; CHECK: call foo
entry:
invoke void @foo()
@@ -1003,12 +1005,12 @@ invoke.cont2: ; preds = %catch.start
; path back to the loop header), and is placed after the loop latch block
; 'invoke.cont' intentionally. This tests if 'end_loop' marker is placed
; correctly not right after 'invoke.cont' part but after 'ehcleanup' part,
-; NOSORT-LABEL: test17:
+; NOSORT-LABEL: loop_contains_exception:
; NOSORT: loop
; NOSORT: try
; NOSORT: end_try
; NOSORT: end_loop
-define void @test17(i32 %n) personality ptr @__gxx_wasm_personality_v0 {
+define void @loop_contains_exception(i32 %n) personality ptr @__gxx_wasm_personality_v0 {
entry:
br label %while.cond
@@ -1052,14 +1054,14 @@ while.end: ; preds = %while.body, %while.
; before its corresponding `catch_all`, because both `try` and `catch_all` body
; should satisfy the return type requirements.
-; NOSORT-LABEL: test18:
+; NOSORT-LABEL: fix_function_end_return_type_with_try_catch:
; NOSORT: try i32
; NOSORT: loop i32
; NOSORT: end_loop
; NOSORT: catch_all
; NOSORT: end_try
; NOSORT-NEXT: end_function
-define i32 @test18(i32 %n) personality ptr @__gxx_wasm_personality_v0 {
+define i32 @fix_function_end_return_type_with_try_catch(i32 %n) personality ptr @__gxx_wasm_personality_v0 {
entry:
%t = alloca %class.Object, align 1
br label %for.cond
@@ -1097,7 +1099,7 @@ ehcleanup: ; preds = %if.then
; because the initial TRY placement for 'call @quux' was done before 'call @baz'
; because 'call @baz''s return value is stackified.
-; CHECK-LABEL: test19:
+; CHECK-LABEL: unwind_mismatches_5:
; CHECK: try
; CHECK: try
; CHECK: call $[[RET:[0-9]+]]=, baz
@@ -1105,7 +1107,7 @@ ehcleanup: ; preds = %if.then
; CHECK: call quux, $[[RET]]
; CHECK: catch_all
; CHECK: end_try
-define void @test19() personality ptr @__gxx_wasm_personality_v0 {
+define void @unwind_mismatches_5() personality ptr @__gxx_wasm_personality_v0 {
entry:
%call = call i32 @baz()
invoke void @quux(i32 %call)
@@ -1147,10 +1149,10 @@ invoke.cont: ; preds = %entry
; becomes invalid because it incorrectly branches into an inner scope. The
; destination should change to the BB where (b) points.
-; NOSORT-LABEL: test20:
+; NOSORT-LABEL: branch_remapping_after_fixing_unwind_mismatches_0:
; NOSORT: try
; NOSORT: br_if 0
-define void @test20(i1 %arg) personality ptr @__gxx_wasm_personality_v0 {
+define void @branch_remapping_after_fixing_unwind_mismatches_0(i1 %arg) personality ptr @__gxx_wasm_personality_v0 {
entry:
br i1 %arg, label %bb0, label %dest
@@ -1187,8 +1189,8 @@ try.cont: ; preds = %catch.start1, %catc
ret void
}
-; The similar case with test20, but multiple consecutive delegates are
-; generated:
+; The similar case with branch_remapping_after_fixing_unwind_mismatches_0, but
+; multiple consecutive delegates are generated:
; - Before:
; block
; br (a)
@@ -1214,7 +1216,7 @@ try.cont: ; preds = %catch.start1, %catc
; <- (b) The br destination should be remapped to here
;
; The test was reduced by bugpoint and should not crash in CFGStackify.
-define void @test21() personality ptr @__gxx_wasm_personality_v0 {
+define void @branch_remapping_after_fixing_unwind_mismatches_1() personality ptr @__gxx_wasm_personality_v0 {
entry:
br i1 undef, label %if.then, label %if.end12
@@ -1292,7 +1294,7 @@ unreachable: ; preds = %rethrow19, %invoke.
; Regression test for WasmEHFuncInfo's reverse mapping bug. 'UnwindDestToSrc'
; should return a vector and not a single BB, which was incorrect.
; This was reduced by bugpoint and should not crash in CFGStackify.
-define void @test22() personality ptr @__gxx_wasm_personality_v0 {
+define void @wasm_eh_func_info_regression_test() personality ptr @__gxx_wasm_personality_v0 {
entry:
invoke void @foo()
to label %invoke.cont unwind label %catch.dispatch
@@ -1348,7 +1350,7 @@ unreachable: ; preds = %invoke.cont8, %catc
unreachable
}
-; void test23() {
+; void exception_grouping_0() {
; try {
; try {
; throw 0;
@@ -1364,7 +1366,7 @@ unreachable: ; preds = %invoke.cont8, %catc
; included in catch.start's exception. Also, after we take catch.start2's
; exception out of catch.start's exception, we have to take out try.cont8 out of
; catch.start's exception, because it has a predecessor in catch.start2.
-define void @test23() personality ptr @__gxx_wasm_personality_v0 {
+define void @exception_grouping_0() personality ptr @__gxx_wasm_personality_v0 {
entry:
%exception = call ptr @__cxa_allocate_exception(i32 4) #0
store i32 0, ptr %exception, align 16
@@ -1442,7 +1444,7 @@ unreachable: ; preds = %rethrow, %entry
; exception first, before taking out catch.start12's exception out of
; catch.start4's exception; otherwise we end up with an incorrect relationship
; of catch.start's exception > catch.start12's exception.
-define void @test24() personality ptr @__gxx_wasm_personality_v0 {
+define void @exception_grouping_1() personality ptr @__gxx_wasm_personality_v0 {
entry:
invoke void @foo()
to label %invoke.cont unwind label %catch.dispatch
@@ -1525,7 +1527,7 @@ unreachable: ; preds = %rethrow, %rethrow6
unreachable
}
-; void test25() {
+; void exception_grouping_2() {
; try {
; try {
; throw 0;
@@ -1545,7 +1547,7 @@ unreachable: ; preds = %rethrow, %rethrow6
; contained in (a)'s exception. Because (a)'s unwind destination is (b), (b)'s
; exception is taken out of (a)'s. But because (c) is reachable from (b), we
; should make sure to take out (c)'s exception out of (a)'s exception too.
-define void @test25() personality ptr @__gxx_wasm_personality_v0 {
+define void @exception_grouping_2() personality ptr @__gxx_wasm_personality_v0 {
entry:
%exception = call ptr @__cxa_allocate_exception(i32 4) #1
store i32 0, ptr %exception, align 16
diff --git a/llvm/test/CodeGen/WebAssembly/exception-legacy.ll b/llvm/test/CodeGen/WebAssembly/exception-legacy.ll
index 3537baa425164c..aa191209516f64 100644
--- a/llvm/test/CodeGen/WebAssembly/exception-legacy.ll
+++ b/llvm/test/CodeGen/WebAssembly/exception-legacy.ll
@@ -10,10 +10,10 @@ target triple = "wasm32-unknown-unknown"
; CHECK: .tagtype __cpp_exception i32
-; CHECK-LABEL: test_throw:
+; CHECK-LABEL: throw:
; CHECK: throw __cpp_exception, $0
; CHECK-NOT: unreachable
-define void @test_throw(ptr %p) {
+define void @throw(ptr %p) {
call void @llvm.wasm.throw(i32 0, ptr %p)
ret void
}
@@ -21,14 +21,14 @@ define void @test_throw(ptr %p) {
; Simple test with a try-catch
;
; void foo();
-; void test_catch() {
+; void catch() {
; try {
; foo();
; } catch (int) {
; }
; }
-; CHECK-LABEL: test_catch:
+; CHECK-LABEL: catch:
; CHECK: global.get ${{.+}}=, __stack_pointer
; CHECK: try
; CHECK: call foo
@@ -44,7 +44,7 @@ define void @test_throw(ptr %p) {
; CHECK: end_block
; CHECK: rethrow 0
; CHECK: end_try
-define void @test_catch() personality ptr @__gxx_wasm_personality_v0 {
+define void @catch() personality ptr @__gxx_wasm_personality_v0 {
entry:
invoke void @foo()
to label %try.cont unwind label %catch.dispatch
@@ -79,12 +79,12 @@ try.cont: ; preds = %catch, %entry
; struct Temp {
; ~Temp() {}
; };
-; void test_cleanup() {
+; void cleanup() {
; Temp t;
; foo();
; }
-; CHECK-LABEL: test_cleanup:
+; CHECK-LABEL: cleanup:
; CHECK: try
; CHECK: call foo
; CHECK: catch_all
@@ -92,7 +92,7 @@ try.cont: ; preds = %catch, %entry
; CHECK: call $drop=, _ZN4TempD2Ev
; CHECK: rethrow 0
; CHECK: end_try
-define void @test_cleanup() personality ptr @__gxx_wasm_personality_v0 {
+define void @cleanup() personality ptr @__gxx_wasm_personality_v0 {
entry:
%t = alloca %struct.Temp, align 1
invoke void @foo()
@@ -112,7 +112,7 @@ ehcleanup: ; preds = %entry
; temrinatepad, because __cxa_end_catch() also can throw within 'catch (...)'.
;
; void foo();
-; void test_terminatepad() {
+; void terminatepad() {
; try {
; foo();
; } catch (...) {
@@ -120,7 +120,7 @@ ehcleanup: ; preds = %entry
; }
; }
-; CHECK-LABEL: test_terminatepad
+; CHECK-LABEL: terminatepad
; CHECK: try
; CHECK: call foo
; CHECK: catch
@@ -138,7 +138,7 @@ ehcleanup: ; preds = %entry
; CHECK: end_try
; CHECK: call __cxa_end_catch
; CHECK: end_try
-define void @test_terminatepad() personality ptr @__gxx_wasm_personality_v0 {
+define void @terminatepad() personality ptr @__gxx_wasm_personality_v0 {
entry:
invoke void @foo()
to label %try.cont unwind label %catch.dispatch
@@ -182,7 +182,7 @@ terminate: ; preds = %ehcleanup
; instructions after a catch instruction.
;
; void bar(int) noexcept;
-; void test_no_prolog_epilog_in_ehpad() {
+; void no_prolog_epilog_in_ehpad() {
; int stack_var = 0;
; bar(stack_var);
; try {
@@ -192,7 +192,7 @@ terminate: ; preds = %ehcleanup
; }
; }
-; CHECK-LABEL: test_no_prolog_epilog_in_ehpad
+; CHECK-LABEL: no_prolog_epilog_in_ehpad
; CHECK: try
; CHECK: call foo
; CHECK: catch
@@ -217,7 +217,7 @@ terminate: ; preds = %ehcleanup
; CHECK-NOT: global.set __stack_pointer, $pop{{.+}}
; CHECK: call __cxa_end_catch
; CHECK: end_try
-define void @test_no_prolog_epilog_in_ehpad() personality ptr @__gxx_wasm_personality_v0 {
+define void @no_prolog_epilog_in_ehpad() personality ptr @__gxx_wasm_personality_v0 {
entry:
%stack_var = alloca i32, align 4
call void @bar(ptr %stack_var)
@@ -262,14 +262,14 @@ ehcleanup: ; preds = %catch
; store SP back to __stack_pointer global at the epilog.
;
; void foo();
-; void test_no_sp_writeback() {
+; void no_sp_writeback() {
; try {
; foo();
; } catch (...) {
; }
; }
-; CHECK-LABEL: test_no_sp_writeback
+; CHECK-LABEL: no_sp_writeback
; CHECK: try
; CHECK: call foo
; CHECK: catch
@@ -278,7 +278,7 @@ ehcleanup: ; preds = %catch
; CHECK: end_try
; CHECK-NOT: global.set __stack_pointer
; CHECK: return
-define void @test_no_sp_writeback() personality ptr @__gxx_wasm_personality_v0 {
+define void @no_sp_writeback() personality ptr @__gxx_wasm_personality_v0 {
entry:
invoke void @foo()
to label %try.cont unwind label %catch.dispatch
@@ -300,7 +300,7 @@ try.cont: ; preds = %catch.start, %entry
; When the result of @llvm.wasm.get.exception is not used. This is created to
; fix a bug in LateEHPrepare and this should not crash.
-define void @test_get_exception_wo_use() personality ptr @__gxx_wasm_personality_v0 {
+define void @get_exception_wo_use() personality ptr @__gxx_wasm_personality_v0 {
entry:
invoke void @foo()
to label %try.cont unwind label %catch.dispatch
@@ -320,7 +320,7 @@ try.cont: ; preds = %catch.start, %entry
; Tests a case when a cleanup region (cleanuppad ~ clanupret) contains another
; catchpad
-define void @test_complex_cleanup_region() personality ptr @__gxx_wasm_personality_v0 {
+define void @complex_cleanup_region() personality ptr @__gxx_wasm_personality_v0 {
entry:
invoke void @foo()
to label %invoke.cont unwind label %ehcleanup
@@ -352,7 +352,7 @@ ehcleanupret: ; preds = %catch.start, %ehcle
; Regression test for the bug that 'rethrow' was not treated correctly as a
; terminator in isel.
-define void @test_rethrow_terminator() personality ptr @__gxx_wasm_personality_v0 {
+define void @rethrow_terminator() personality ptr @__gxx_wasm_personality_v0 {
entry:
invoke void @foo()
to label %try.cont unwind label %catch.dispatch
More information about the llvm-commits
mailing list