[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