[llvm] [WebAssembly] Fix phi handling for Wasm SjLj (PR #99730)

LLVM Continuous Integration via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 23 17:08:29 PDT 2024


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `reverse-iteration` running on `hexagon-build-03` while building `llvm` at step 6 "check_all".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/110/builds/474

Here is the relevant piece of the build log for the reference:
```
Step 6 (check_all) failure: test (failure)
******************** TEST 'LLVM :: CodeGen/WebAssembly/lower-wasm-ehsjlj-phi.ll' FAILED ********************
Exit Code: 1

Command Output (stderr):
--
RUN: at line 1: /local/mnt/workspace/bots/hexagon-build-03/reverse-iteration/llvm.obj/bin/opt < /local/mnt/workspace/bots/hexagon-build-03/reverse-iteration/llvm.src/llvm/test/CodeGen/WebAssembly/lower-wasm-ehsjlj-phi.ll -wasm-lower-em-ehsjlj -wasm-enable-eh -wasm-enable-sjlj -S | /local/mnt/workspace/bots/hexagon-build-03/reverse-iteration/llvm.obj/bin/FileCheck /local/mnt/workspace/bots/hexagon-build-03/reverse-iteration/llvm.src/llvm/test/CodeGen/WebAssembly/lower-wasm-ehsjlj-phi.ll
+ /local/mnt/workspace/bots/hexagon-build-03/reverse-iteration/llvm.obj/bin/FileCheck /local/mnt/workspace/bots/hexagon-build-03/reverse-iteration/llvm.src/llvm/test/CodeGen/WebAssembly/lower-wasm-ehsjlj-phi.ll
+ /local/mnt/workspace/bots/hexagon-build-03/reverse-iteration/llvm.obj/bin/opt -wasm-lower-em-ehsjlj -wasm-enable-eh -wasm-enable-sjlj -S
/local/mnt/workspace/bots/hexagon-build-03/reverse-iteration/llvm.src/llvm/test/CodeGen/WebAssembly/lower-wasm-ehsjlj-phi.ll:54:15: error: CHECK-NEXT: expected string not found in input
; CHECK-NEXT: %phi = phi i32 [ %val.entry2, %entry.split.split ], [ %val.bb1, %.noexc ], [ %val.bb3, %.noexc1 ], [ %val.bb1, %ehcleanup0 ], [ %val.bb3, %bb3 ]
              ^
<stdin>:59:12: note: scanning from here
ehcleanup1: ; preds = %bb3, %ehcleanup0, %.noexc1, %.noexc, %entry.split.split
           ^
<stdin>:60:2: note: possible intended match here
 %phi = phi i32 [ %val.entry2, %entry.split.split ], [ %val.bb1, %.noexc ], [ %val.bb3, %.noexc1 ], [ %val.bb3, %bb3 ], [ %val.bb1, %ehcleanup0 ]
 ^
/local/mnt/workspace/bots/hexagon-build-03/reverse-iteration/llvm.src/llvm/test/CodeGen/WebAssembly/lower-wasm-ehsjlj-phi.ll:106:15: error: CHECK-NEXT: expected string not found in input
; CHECK-NEXT: %phi = phi i32 [ %val.entry2, %entry.split.split ], [ %val.bb1, %catch.dispatch ], [ %val.bb1, %.noexc ], [ %val.bb3, %.noexc1 ], [ %val.bb1, %catch.start ], [ %val.bb3, %bb3 ]
              ^
<stdin>:145:11: note: scanning from here
ehcleanup: ; preds = %bb3, %catch.start, %.noexc1, %.noexc, %catch.dispatch, %entry.split.split
          ^
<stdin>:146:2: note: possible intended match here
 %phi = phi i32 [ %val.entry2, %entry.split.split ], [ %val.bb1, %catch.dispatch ], [ %val.bb1, %.noexc ], [ %val.bb3, %.noexc1 ], [ %val.bb3, %bb3 ], [ %val.bb1, %catch.start ]
 ^

Input file: <stdin>
Check file: /local/mnt/workspace/bots/hexagon-build-03/reverse-iteration/llvm.src/llvm/test/CodeGen/WebAssembly/lower-wasm-ehsjlj-phi.ll

-dump-input=help explains the following input dump.

Input was:
<<<<<<
            .
            .
            .
           54:  to label %.noexc1 unwind label %ehcleanup1 
           55:  
           56: .noexc1: ; preds = %bb3 
           57:  cleanupret from %0 unwind label %ehcleanup1 
           58:  
           59: ehcleanup1: ; preds = %bb3, %ehcleanup0, %.noexc1, %.noexc, %entry.split.split 
next:54'0                 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
           60:  %phi = phi i32 [ %val.entry2, %entry.split.split ], [ %val.bb1, %.noexc ], [ %val.bb3, %.noexc1 ], [ %val.bb3, %bb3 ], [ %val.bb1, %ehcleanup0 ] 
next:54'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
next:54'1       ?                                                                                                                                                 possible intended match
           61:  %1 = cleanuppad within none [] 
next:54'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           62:  %2 = call i32 @llvm.wasm.memory.size.i32(i32 %phi) 
...

```

https://github.com/llvm/llvm-project/pull/99730


More information about the llvm-commits mailing list