[llvm] [LoopVectorize][NFC] Rewrite tests to check output of vplan cost model (PR #113697)

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 19 14:00:31 PST 2024


fhahn wrote:

@david-arm is it possible that this patch introduced a failure on the windows bots?

https://buildkite.com/llvm-project/github-pull-requests/builds/121177#01934644-4757-4b17-9233-14fafb1473e7


```
FAIL: LLVM :: Transforms/LoopVectorize/ARM/mve-icmpcost.ll (45628 of 56322)
******************** TEST 'LLVM :: Transforms/LoopVectorize/ARM/mve-icmpcost.ll' FAILED ********************
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
c:\ws\src\build\bin\opt.exe -passes=loop-vectorize -debug-only=loop-vectorize -disable-output < C:\ws\src\llvm\test\Transforms\LoopVectorize\ARM\mve-icmpcost.ll 2>&1 | c:\ws\src\build\bin\filecheck.exe C:\ws\src\llvm\test\Transforms\LoopVectorize\ARM\mve-icmpcost.ll
# executed command: 'c:\ws\src\build\bin\opt.exe' -passes=loop-vectorize -debug-only=loop-vectorize -disable-output
# note: command had no output on stdout or stderr
# executed command: 'c:\ws\src\build\bin\filecheck.exe' 'C:\ws\src\llvm\test\Transforms\LoopVectorize\ARM\mve-icmpcost.ll'
# .---command stderr------------
# | C:\ws\src\llvm\test\Transforms\LoopVectorize\ARM\mve-icmpcost.ll:224:10: error: CHECK: expected string not found in input
# | ; CHECK: Cost for VF 8: 26 (Estimated cost per lane: 3.2)
# |          ^
# | <stdin>:826:65: note: scanning from here
# | Cost of 0 for VF 8: EMIT branch-on-count vp<%index.next>, vp<%1>
# |                                                                 ^
# | <stdin>:828:1: note: possible intended match here
# | Cost for VF 8: 26 (Estimated cost per lane: 3.3)
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\ws\src\llvm\test\Transforms\LoopVectorize\ARM\mve-icmpcost.ll
# |
# | -dump-input=help explains the following input dump.
# |
Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |            821: Cost of 4 for VF 8: WIDEN-SELECT ir<%spec.select.i> = select ir<%2>, ir<%shr>, ir<127>
# |            822: Cost of 2 for VF 8: WIDEN-CAST ir<%conv4> = trunc ir<%spec.select.i> to i8
# |            823: Cost of 0 for VF 8: vp<%8> = vector-pointer vp<%next.gep>.1
# |            824: Cost of 2 for VF 8: WIDEN store vp<%8>, ir<%conv4>
# |            825: Cost of 0 for VF 8: EMIT vp<%index.next> = add nuw vp<%2>, vp<%0>
# |            826: Cost of 0 for VF 8: EMIT branch-on-count vp<%index.next>, vp<%1>
# | check:224'0                                                                     X error: no match found
# |            827: Cost of 0 for VF 8: vector loop backedge
# | check:224'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            828: Cost for VF 8: 26 (Estimated cost per lane: 3.3)
# | check:224'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:224'1     ?                                                 possible intended match
# |            829: Cost of 1 for VF 16: induction instruction %dec = add i32 %blkCnt.012, -1
# | check:224'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            830: Cost of 0 for VF 16: induction instruction %blkCnt.012 = phi i32 [ %dec, %while.body ], [ %blockSize, %while.body.preheader ]
# | check:224'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            831: Cost of 0 for VF 16: induction instruction %incdec.ptr = getelementptr inbounds i8, ptr %pSrcA.addr.011, i32 1
# | check:224'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            832: Cost of 0 for VF 16: induction instruction %pSrcA.addr.011 = phi ptr [ %incdec.ptr, %while.body ], [ %pSrcA, %while.body.preheader ]
# | check:224'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            833: Cost of 0 for VF 16: induction instruction %incdec.ptr5 = getelementptr inbounds i8, ptr %pDst.addr.010, i32 1
# | check:224'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |              .
# |              .
# |              .
# | >>>>>>
````

Looks like the test expects 3.2 but it was 3.3, possibly due to different rounding?

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


More information about the llvm-commits mailing list