[PATCH] D107511: [WebAssembly] Cleanup Emscripten SjLj tests

Heejin Ahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 4 16:30:09 PDT 2021


aheejin created this revision.
aheejin added a reviewer: tlively.
Herald added subscribers: wingo, ecnelises, sunfish, jgravelle-google, sbc100, dschuff.
aheejin requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

- Remove a redundant test: there were `longjmp_only` and `only_longjmp`, which do the same thing
- Add `CHECK-LABEL` lines for function names


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D107511

Files:
  llvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll


Index: llvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll
===================================================================
--- llvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll
+++ llvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll
@@ -139,24 +139,14 @@
 }
 
 ; Test a case when a function only calls other functions that are neither setjmp nor longjmp
-define void @only_other_func() {
+define void @other_func_only() {
+; CHECK-LABEL: @other_func_only
 entry:
   call void @foo()
   ret void
 ; CHECK: call void @foo()
 }
 
-; Test a case when a function only calls longjmp and not setjmp
-define void @only_longjmp() {
-entry:
-  %buf = alloca [1 x %struct.__jmp_buf_tag], align 16
-  %arraydecay = getelementptr inbounds [1 x %struct.__jmp_buf_tag], [1 x %struct.__jmp_buf_tag]* %buf, i32 0, i32 0
-  call void @longjmp(%struct.__jmp_buf_tag* %arraydecay, i32 5) #1
-  unreachable
-; CHECK: %[[JMPBUF:.*]] = ptrtoint
-; CHECK-NEXT: call void @emscripten_longjmp([[PTR]] %[[JMPBUF]], i32 5)
-}
-
 ; Test inline asm handling
 define void @inline_asm() {
 ; CHECK-LABEL: @inline_asm
@@ -185,10 +175,10 @@
   ret i8 *%alloc
 }
 
-; Tests if program does not crash when there's no setjmp function calls in the
-; module.
+; Test a case when a function only calls longjmp and not setjmp
 @buffer = global [1 x %struct.__jmp_buf_tag] zeroinitializer, align 16
 define void @longjmp_only() {
+; CHECK-LABEL: @longjmp_only
 entry:
   ; CHECK: call void @emscripten_longjmp
   call void @longjmp(%struct.__jmp_buf_tag* getelementptr inbounds ([1 x %struct.__jmp_buf_tag], [1 x %struct.__jmp_buf_tag]* @buffer, i32 0, i32 0), i32 1) #1
@@ -197,6 +187,7 @@
 
 ; Tests if SSA rewrite works when a use and its def are within the same BB.
 define void @ssa_rewite_in_same_bb() {
+; CHECK-LABEL: @ssa_rewite_in_same_bb
 entry:
   call void @foo()
   br label %for.cond


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D107511.364285.patch
Type: text/x-patch
Size: 1849 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210804/3262dded/attachment.bin>


More information about the llvm-commits mailing list