[llvm] [VPlan] Fix VPTypeAnalysis cache clobbering in EVL transform (PR #120252)

LLVM Continuous Integration via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 17 22:00:01 PST 2024


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `premerge-monolithic-linux` running on `premerge-linux-1` while building `llvm` at step 7 "test-build-unified-tree-check-all".

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

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

```
Step 7 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: Transforms/LoopVectorize/RISCV/type-info-cache-evl-crash.ll' FAILED ********************
Exit Code: 1

Command Output (stderr):
--
RUN: at line 2: /build/buildbot/premerge-monolithic-linux/build/bin/opt -passes=loop-vectorize -force-tail-folding-style=data-with-evl -prefer-predicate-over-epilogue=predicate-dont-vectorize -mtriple=riscv64 -mattr=+v -S /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/type-info-cache-evl-crash.ll | /build/buildbot/premerge-monolithic-linux/build/bin/FileCheck /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/type-info-cache-evl-crash.ll
+ /build/buildbot/premerge-monolithic-linux/build/bin/opt -passes=loop-vectorize -force-tail-folding-style=data-with-evl -prefer-predicate-over-epilogue=predicate-dont-vectorize -mtriple=riscv64 -mattr=+v -S /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/type-info-cache-evl-crash.ll
+ /build/buildbot/premerge-monolithic-linux/build/bin/FileCheck /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/type-info-cache-evl-crash.ll
/build/buildbot/premerge-monolithic-linux/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/type-info-cache-evl-crash.ll:65:15: error: CHECK-NEXT: expected string not found in input
; CHECK-NEXT: [[BC_RESUME_VAL:%.*]] = phi i64 [ [[N_VEC]], %[[MIDDLE_BLOCK]] ], [ 0, %[[ENTRY]] ], [ 0, %[[VECTOR_MEMCHECK]] ]
              ^
<stdin>:65:11: note: scanning from here
scalar.ph: ; preds = %vector.memcheck, %entry, %middle.block
          ^
<stdin>:65:11: note: with "N_VEC" equal to "%n\\.vec"
scalar.ph: ; preds = %vector.memcheck, %entry, %middle.block
          ^
<stdin>:65:11: note: with "MIDDLE_BLOCK" equal to "middle\\.block"
scalar.ph: ; preds = %vector.memcheck, %entry, %middle.block
          ^
<stdin>:65:11: note: with "ENTRY" equal to "entry"
scalar.ph: ; preds = %vector.memcheck, %entry, %middle.block
          ^
<stdin>:65:11: note: with "VECTOR_MEMCHECK" equal to "vector\\.memcheck"
scalar.ph: ; preds = %vector.memcheck, %entry, %middle.block
          ^
<stdin>:66:11: note: possible intended match here
 %bc.resume.val = phi i64 [ %n.vec, %middle.block ], [ 0, %vector.memcheck ], [ 0, %entry ]
          ^

Input file: <stdin>
Check file: /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/type-info-cache-evl-crash.ll

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

Input was:
<<<<<<
           .
           .
           .
          60:  br i1 %21, label %middle.block, label %vector.body, !llvm.loop !5 
          61:  
          62: middle.block: ; preds = %vector.body 
          63:  br i1 true, label %exit, label %scalar.ph 
          64:  
          65: scalar.ph: ; preds = %vector.memcheck, %entry, %middle.block 
next:65'0               X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
next:65'1                                                                   with "N_VEC" equal to "%n\\.vec"
next:65'2                                                                   with "MIDDLE_BLOCK" equal to "middle\\.block"
next:65'3                                                                   with "ENTRY" equal to "entry"
...

```

</details>

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


More information about the llvm-commits mailing list