[PATCH] D66728: [WebAssembly] Combine emscripten SjLj tests
Heejin Ahn via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 26 14:44:32 PDT 2019
This revision was automatically updated to reflect the committed changes.
Closed by commit rL369974: [WebAssembly] Combine emscripten SjLj tests (authored by aheejin, committed by ).
Changed prior to commit:
https://reviews.llvm.org/D66728?vs=217091&id=217247#toc
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D66728/new/
https://reviews.llvm.org/D66728
Files:
llvm/trunk/test/CodeGen/WebAssembly/lower-em-sjlj-longjmp-only.ll
llvm/trunk/test/CodeGen/WebAssembly/lower-em-sjlj-sret.ll
llvm/trunk/test/CodeGen/WebAssembly/lower-em-sjlj.ll
Index: llvm/trunk/test/CodeGen/WebAssembly/lower-em-sjlj-sret.ll
===================================================================
--- llvm/trunk/test/CodeGen/WebAssembly/lower-em-sjlj-sret.ll
+++ llvm/trunk/test/CodeGen/WebAssembly/lower-em-sjlj-sret.ll
@@ -15,11 +15,11 @@
%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: llvm/trunk/test/CodeGen/WebAssembly/lower-em-sjlj.ll
===================================================================
--- llvm/trunk/test/CodeGen/WebAssembly/lower-em-sjlj.ll
+++ llvm/trunk/test/CodeGen/WebAssembly/lower-em-sjlj.ll
@@ -216,6 +216,16 @@
ret i8 *%alloc
}
+; Tests if program does not crash when there's no setjmp function calls in the
+; module.
+ at 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
Index: llvm/trunk/test/CodeGen/WebAssembly/lower-em-sjlj-longjmp-only.ll
===================================================================
--- llvm/trunk/test/CodeGen/WebAssembly/lower-em-sjlj-longjmp-only.ll
+++ llvm/trunk/test/CodeGen/WebAssembly/lower-em-sjlj-longjmp-only.ll
@@ -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] }
-
- at 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 }
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D66728.217247.patch
Type: text/x-patch
Size: 3165 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190826/acd25378/attachment.bin>
More information about the llvm-commits
mailing list