]> granicus.if.org Git - llvm/commitdiff
[WebAssembly] Combine emscripten SjLj tests
authorHeejin Ahn <aheejin@gmail.com>
Mon, 26 Aug 2019 21:41:17 +0000 (21:41 +0000)
committerHeejin Ahn <aheejin@gmail.com>
Mon, 26 Aug 2019 21:41:17 +0000 (21:41 +0000)
Summary:
Combine a test in lower-em-sjlj-longjmp-only.ll into lower-em-sjlj.ll,
because the test command is the same and I don't see any reason it
should be a separate file. Also converted tabs into spaces and fixed
indentations in lower-em-sjlj-sret.ll. (lower-em-sjlj.ll uses a
different test command (llc), so it couldn't be combined)

Reviewers: dschuff

Subscribers: sbc100, jgravelle-google, sunfish, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D66728

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@369974 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/WebAssembly/lower-em-sjlj-longjmp-only.ll [deleted file]
test/CodeGen/WebAssembly/lower-em-sjlj-sret.ll
test/CodeGen/WebAssembly/lower-em-sjlj.ll

diff --git a/test/CodeGen/WebAssembly/lower-em-sjlj-longjmp-only.ll b/test/CodeGen/WebAssembly/lower-em-sjlj-longjmp-only.ll
deleted file mode 100644 (file)
index 7d31c8c..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-; RUN: opt < %s -wasm-lower-em-ehsjlj -S | FileCheck %s
-
-target datalayout = "e-m:e-p:32:32-i64:64-n32:64-S128"
-target triple = "wasm32-unknown-unknown"
-
-%struct.__jmp_buf_tag = type { [6 x i32], i32, %struct.__sigset_t }
-%struct.__sigset_t = type { [32 x i32] }
-
-@buffer = global [1 x %struct.__jmp_buf_tag] zeroinitializer, align 16
-
-; Tests if program does not crash when there's no setjmp function calls in the
-; module.
-
-; CHECK: call void @emscripten_longjmp_jmpbuf
-define void @longjmp_only() {
-entry:
-  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
-  unreachable
-}
-
-; Function Attrs: noreturn nounwind
-declare void @longjmp(%struct.__jmp_buf_tag*, i32) #1
-
-attributes #1 = { noreturn nounwind }
index d93eed82a27f0ffb172d4a987648171c81762618..eab3b53d578d0f9ad20a9b483d5fdeb502ecd7a2 100644 (file)
@@ -15,11 +15,11 @@ entry:
   %env = alloca [1 x %struct.__jmp_buf_tag], align 16
   %arraydecay = getelementptr inbounds [1 x %struct.__jmp_buf_tag], [1 x %struct.__jmp_buf_tag]* %env, i32 0, i32 0
   %call = call i32 @setjmp(%struct.__jmp_buf_tag* %arraydecay) #0
-; This is the function pointer to pass to invoke.
-; It needs to be the first argument (that's what we're testing here)
-; CHECK:       i32.const       $push[[FPTR:[0-9]+]]=, returns_struct
-; This is the sret stack region (as an offset from the stack pointer local)
-; CHECK:       call    "__invoke_{i32.i32}", $pop[[FPTR]]
+  ; This is the function pointer to pass to invoke.
+  ; It needs to be the first argument (that's what we're testing here)
+  ; CHECK: i32.const $push[[FPTR:[0-9]+]]=, returns_struct
+  ; This is the sret stack region (as an offset from the stack pointer local)
+  ; CHECK: call "__invoke_{i32.i32}", $pop[[FPTR]]
   %ret = call {i32, i32} @returns_struct()
   ret {i32, i32} %ret
 }
index 75f6b7d2bbcaacba85ce77a3e907ab3cac00146e..5dfdd440fbce4f6b345be15928f65326c3686a51 100644 (file)
@@ -216,6 +216,16 @@ entry:
   ret i8 *%alloc
 }
 
+; Tests if program does not crash when there's no setjmp function calls in the
+; module.
+@buffer = global [1 x %struct.__jmp_buf_tag] zeroinitializer, align 16
+define void @longjmp_only() {
+entry:
+  ; CHECK: call void @emscripten_longjmp_jmpbuf
+  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
+  unreachable
+}
+
 declare void @foo()
 ; Function Attrs: returns_twice
 declare i32 @setjmp(%struct.__jmp_buf_tag*) #0