[llvm] [LSR] Use TTI to check if zero-start IV is free in getSetupCost (PR #190587)

via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 6 01:35:58 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results

* 133072 tests passed
* 3061 tests skipped
* 1 test failed

## Failed Tests
(click on a test name to see its output)

### LLVM
<details>
<summary>LLVM.Transforms/LoopStrengthReduce/RISCV/lsr-drop-solution-dbg-msg.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopStrengthReduce\RISCV\lsr-drop-solution-dbg-msg.ll -O3 -mattr=+v -debug -lsr-drop-solution 2>&1 | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe --check-prefix=DEBUG C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopStrengthReduce\RISCV\lsr-drop-solution-dbg-msg.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -O3 -mattr=+v -debug -lsr-drop-solution
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' --check-prefix=DEBUG 'C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopStrengthReduce\RISCV\lsr-drop-solution-dbg-msg.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopStrengthReduce\RISCV\lsr-drop-solution-dbg-msg.ll:10:9: error: DEBUG: expected string not found in input
# | ;DEBUG: The chosen solution requires 3 instructions 6 regs, with addrec cost 1, plus 2 base adds, plus 5 setup cost
# |         ^
# | <stdin>:60:92: note: scanning from here
# | The baseline solution requires 2 instructions 4 regs, with addrec cost 2, plus 3 setup cost
# |                                                                                            ^
# | <stdin>:115:1: note: possible intended match here
# | The chosen solution requires 3 instructions 6 regs, with addrec cost 1, plus 2 base adds, plus 4 setup cost:
# | ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopStrengthReduce\RISCV\lsr-drop-solution-dbg-msg.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            55:  reg({%a2,+,(-1 * %1)<nsw>}<%do.body>) 
# |            56:  LSR Use: Kind=Basic, Offsets={0,0} 
# |            57:  reg({%a1,+,%1}<%do.body>) 
# |            58:  LSR Use: Kind=Basic, Offsets={0}, all-fixups-unconditional 
# |            59:  reg(%1) 
# |            60: The baseline solution requires 2 instructions 4 regs, with addrec cost 2, plus 3 setup cost 
# | check:10'0                                                                                                X error: no match found
# |            61:  
# | check:10'0     ~
# |            62: After generating reuse formulae: 
# | check:10'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            63: LSR is examining the following uses: 
# | check:10'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            64:  LSR Use: Kind=Basic, Offsets={0,0,0} 
# | check:10'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            65:  reg({(ptrtoint ptr %a0 to i64),+,%1}<%do.body>) 
# | check:10'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           110: - %a2 
# | check:10'0     ~~~~~~
# |           111: - %a1 
# | check:10'0     ~~~~~~
# |           112: - %1 
# | check:10'0     ~~~~~
# |           113:  
# | check:10'0     ~
# |           114:  
# | check:10'0     ~
# |           115: The chosen solution requires 3 instructions 6 regs, with addrec cost 1, plus 2 base adds, plus 4 setup cost: 
# | check:10'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:10'1     ?                                                                                                             possible intended match
# |           116:  LSR Use: Kind=Basic, Offsets={0,0,0} 
# | check:10'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           117:  reg((ptrtoint ptr %a0 to i64)) + 1*reg({0,+,%1}<%do.body>) 
# | check:10'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           118:  LSR Use: Kind=Special, Offsets={0}, all-fixups-outside-loop 
# | check:10'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           119:  reg(%a2) + -1*reg({0,+,%1}<%do.body>) 
# | check:10'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           120:  LSR Use: Kind=Basic, Offsets={0,0} 
# | check:10'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

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


More information about the llvm-commits mailing list