[llvm] [SLP][REVEC] Support more mask pattern usage in shufflevector. (PR #106212)

LLVM Continuous Integration via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 3 06:37:38 PDT 2024


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `llvm-clang-x86_64-sie-ubuntu-fast` running on `sie-linux-worker` while building `llvm` at step 6 "test-build-unified-tree-check-all".

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

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: Transforms/SLPVectorizer/revec.ll' FAILED ********************
Exit Code: 1

Command Output (stderr):
--
RUN: at line 2: /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/build/bin/opt -passes=slp-vectorizer -S -slp-revec -slp-max-reg-size=1024 -slp-threshold=-100 /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/llvm/test/Transforms/SLPVectorizer/revec.ll | /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/build/bin/FileCheck /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/llvm/test/Transforms/SLPVectorizer/revec.ll
+ /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/build/bin/opt -passes=slp-vectorizer -S -slp-revec -slp-max-reg-size=1024 -slp-threshold=-100 /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/llvm/test/Transforms/SLPVectorizer/revec.ll
+ /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/build/bin/FileCheck /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/llvm/test/Transforms/SLPVectorizer/revec.ll
/home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/llvm/test/Transforms/SLPVectorizer/revec.ll:307:15: error: CHECK-NEXT: expected string not found in input
; CHECK-NEXT: [[TMP4:%.*]] = shufflevector <32 x i8> [[TMP3]], <32 x i8> poison, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31>
              ^
<stdin>:158:300: note: scanning from here
 %3 = shufflevector <32 x i8> %2, <32 x i8> poison, <32 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
                                                                                                                                                                                                                                                                                                           ^
<stdin>:158:300: note: with "TMP3" equal to "%3"
 %3 = shufflevector <32 x i8> %2, <32 x i8> poison, <32 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
                                                                                                                                                                                                                                                                                                           ^
<stdin>:159:2: note: possible intended match here
 %4 = shufflevector <32 x i8> %2, <32 x i8> poison, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
 ^

Input file: <stdin>
Check file: /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/llvm/test/Transforms/SLPVectorizer/revec.ll

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

Input was:
<<<<<<
             1: ; ModuleID = '/home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/llvm/test/Transforms/SLPVectorizer/revec.ll' 
             2: source_filename = "/home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/llvm/test/Transforms/SLPVectorizer/revec.ll" 
             3:  
             4: define void  at test1(ptr %a, ptr %b, ptr %c) { 
label:5'0                   ^~~~~~~
label:5'1                   ^~~~~~~
             5: entry: 
next:6          ^~~~~~
             6:  %0 = load <16 x i32>, ptr %a, align 4 
next:7'0         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
next:7'1         ^~                                     captured var "TMP0"
next:7'2                                   ^~           captured var "A"
             7:  %1 = load <16 x i32>, ptr %b, align 4 
next:8'0         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
next:8'1         ^~                                     captured var "TMP1"
next:8'2                                   ^~           captured var "B"
             8:  %2 = add <16 x i32> %1, %0 
next:9'0         ^~~~~~~~~~~~~~~~~~~~~~~~~~
next:9'1                                     with "TMP1" equal to "%1"
next:9'2                                     with "TMP0" equal to "%0"
next:9'3         ^~                          captured var "TMP2"
             9:  store <16 x i32> %2, ptr %c, align 4 
...

```

</details>

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


More information about the llvm-commits mailing list