[llvm] [ARM] Have SelectionDAG optimize muls, not ISelDAGtoDAG (PR #195334)

via llvm-commits llvm-commits at lists.llvm.org
Fri May 1 12:54:35 PDT 2026


github-actions[bot] wrote:

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

* 134108 tests passed
* 3221 tests skipped
* 2 tests failed

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

### LLVM
<details>
<summary>LLVM.CodeGen/Thumb2/mve-ctpop.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mtriple=thumbv8.1m.main-none-none-eabi -mattr=+mve.fp -verify-machineinstrs C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\Thumb2\mve-ctpop.ll -o - | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\Thumb2\mve-ctpop.ll --check-prefix=CHECK
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=thumbv8.1m.main-none-none-eabi -mattr=+mve.fp -verify-machineinstrs 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\Thumb2\mve-ctpop.ll' -o -
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\Thumb2\mve-ctpop.ll' --check-prefix=CHECK
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\Thumb2\mve-ctpop.ll:7:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: .save {r4, r5, r7, lr}
# |               ^
# | <stdin>:32:18: note: scanning from here
# | @ %bb.0: @ %entry
# |                  ^
# | <stdin>:33:2: note: possible intended match here
# |  .save {r4, lr}
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\Thumb2\mve-ctpop.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |           .
# |           .
# |           .
# |          27:  .type ctpop_2i64_t,%function 
# |          28:  .code 16 
# |          29:  .thumb_func 
# |          30: ctpop_2i64_t: @ @ctpop_2i64_t 
# |          31:  .fnstart 
# |          32: @ %bb.0: @ %entry 
# | next:7'0                      X error: no match found
# |          33:  .save {r4, lr} 
# | next:7'0     ~~~~~~~~~~~~~~~~
# | next:7'1      ?               possible intended match
# |          34:  push {r4, lr} 
# | next:7'0     ~~~~~~~~~~~~~~~
# |          35:  vmov q1, q0 
# | next:7'0     ~~~~~~~~~~~~~
# |          36:  mov.w lr, #1431655765 
# | next:7'0     ~~~~~~~~~~~~~~~~~~~~~~~
# |          37:  vmov r2, r3, d3 
# | next:7'0     ~~~~~~~~~~~~~~~~~
# |          38:  mov.w r12, #858993459 
# | next:7'0     ~~~~~~~~~~~~~~~~~~~~~~~
# |           .
# |           .
# |           .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopStrengthReduce/ARM/ivchain-ARM.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -O3 -mtriple=thumb-eabi -mcpu=cortex-a9 C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopStrengthReduce\ARM\ivchain-ARM.ll -o - | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopStrengthReduce\ARM\ivchain-ARM.ll -check-prefix=A9
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -O3 -mtriple=thumb-eabi -mcpu=cortex-a9 'C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopStrengthReduce\ARM\ivchain-ARM.ll' -o -
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopStrengthReduce\ARM\ivchain-ARM.ll' -check-prefix=A9
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopStrengthReduce\ARM\ivchain-ARM.ll:412:12: error: A9-NEXT: expected string not found in input
# | ; A9-NEXT: sub.w r0, r1, r1, lsl #2
# |            ^
# | <stdin>:240:27: note: scanning from here
# |  sub.w r12, r0, r1, lsl #2
# |                           ^
# | <stdin>:242:2: note: possible intended match here
# |  sub.w r2, r0, r1, lsl #3
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\Transforms\LoopStrengthReduce\ARM\ivchain-ARM.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           235:  .code 16 
# |           236:  .thumb_func 
# |           237: testReuse: @ @testReuse 
# |           238:  .fnstart 
# |           239: @ %bb.0: @ %entry 
# |           240:  sub.w r12, r0, r1, lsl #2 
# | next:412'0                               X error: no match found
# |           241:  lsls r0, r1, #1 
# | next:412'0     ~~~~~~~~~~~~~~~~~
# |           242:  sub.w r2, r0, r1, lsl #3 
# | next:412'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:412'1      ?                         possible intended match
# |           243:  movs r3, #0 
# | next:412'0     ~~~~~~~~~~~~~
# |           244: .LBB5_1: @ %for.body 
# | next:412'0     ~~~~~~~~~~~~~~~~~~~~~
# |           245:  @ =>This Inner Loop Header: Depth=1 
# | next:412'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           246:  add.w r0, r12, r3 
# | next:412'0     ~~~~~~~~~~~~~~~~~~~
# |           247:  adds r3, #8 
# | next:412'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/195334


More information about the llvm-commits mailing list