[PATCH] D64117: [WebAssembly][NFC] simplify SjLj inline assembly test
Guanzhong Chen via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 3 10:36:30 PDT 2019
quantum updated this revision to Diff 207838.
quantum added a comment.
Add comments and `CHECK-NOT: __invoke_void`
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D64117/new/
https://reviews.llvm.org/D64117
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
@@ -189,23 +189,17 @@
}
; Test inline asm handling
-define hidden void @inline_asm() #0 {
+define hidden void @inline_asm() {
; CHECK-LABEL: @inline_asm
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) #4
- %cmp = icmp eq i32 %call, 0
- br i1 %cmp, label %if.then, label %if.else
-
-if.then: ; preds = %entry
+; Inline assembly should not generate __invoke wrappers.
+; Doing so would fail as inline assembly cannot be passed as a function pointer.
; CHECK: call void asm sideeffect "", ""()
+; CHECK-NOT: __invoke_void
call void asm sideeffect "", ""()
- %arraydecay1 = getelementptr inbounds [1 x %struct.__jmp_buf_tag], [1 x %struct.__jmp_buf_tag]* %env, i32 0, i32 0
- call void @longjmp(%struct.__jmp_buf_tag* %arraydecay1, i32 1) #5
- unreachable
-
-if.else: ; preds = %entry
ret void
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D64117.207838.patch
Type: text/x-patch
Size: 1314 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190703/c366526e/attachment.bin>
More information about the llvm-commits
mailing list