From 8bb1e1527ca5d378fcd2f3a43cfdde4902dbdf20 Mon Sep 17 00:00:00 2001 From: Guanzhong Chen Date: Wed, 3 Jul 2019 22:11:14 +0000 Subject: [PATCH] [WebAssembly][NFC] simplify SjLj inline assembly test Summary: Per feedback in D64115, simplify the test. `hidden` is left in though, because every test in the file has it. Reviewers: aheejin, tlively Subscribers: dschuff, sbc100, jgravelle-google, sunfish, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D64117 llvm-svn: 365089 --- llvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/llvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll b/llvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll index e334092..b65af14 100644 --- a/llvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll +++ b/llvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll @@ -189,23 +189,17 @@ entry: } ; 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 } -- 2.7.4