[llvm-branch-commits] [llvm] DAGCombiner: Drop AllowFPOpFusion from visitFSUBForFMACombine (PR #221439)

via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Sat Sep 5 06:10:09 PDT 2026


github-actions[bot] wrote:

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

* 141568 tests passed
* 3255 tests skipped
* 3 tests failed

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

### LLVM
<details>
<summary>LLVM.CodeGen/AArch64/arm64-fma-combine-with-fpfusion.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\llc.exe < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\arm64-fma-combine-with-fpfusion.ll -mtriple=aarch64-linux-gnu -fp-contract=fast | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\arm64-fma-combine-with-fpfusion.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=aarch64-linux-gnu -fp-contract=fast
# 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\AArch64\arm64-fma-combine-with-fpfusion.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\arm64-fma-combine-with-fpfusion.ll:4:10: error: CHECK: expected string not found in input
# | ; CHECK: fmadd {{s[0-9]+}}, {{s[0-9]+}}, {{s[0-9]+}}
# |          ^
# | <stdin>:7:20: note: scanning from here
# | // %bb.0: // %entry
# |                    ^
# | <stdin>:11:2: note: possible intended match here
# |  fadd s0, s0, s2
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\arm64-fma-combine-with-fpfusion.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            1:  .file "<stdin>" 
# |            2:  .text 
# |            3:  .globl mul_add // -- Begin function mul_add 
# |            4:  .p2align 2 
# |            5:  .type mul_add, at function 
# |            6: mul_add: // @mul_add 
# |            7: // %bb.0: // %entry 
# | check:4'0                       {   search range start (exclusive)
# | check:4'1                           error: no match found in search range
# |            8:  stp x29, x30, [sp, #-16]! // 16-byte Folded Spill 
# |            9:  fmul s0, s0, s1 
# |           10:  mov x29, sp 
# |           11:  fadd s0, s0, s2 
# | check:4'2      ?                 possible intended match
# |           12:  ldp x29, x30, [sp], #16 // 16-byte Folded Reload 
# |           13:  ret 
# |           14: .Lfunc_end0: 
# |           15:  .size mul_add, .Lfunc_end0-mul_add 
# |           16:  // -- End function 
# |           17:  .section ".note.GNU-stack","", at progbits 
# | check:4'3                                              } search range end (exclusive)
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.CodeGen/AArch64/neon-fma.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\llc.exe < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\neon-fma.ll -verify-machineinstrs -mtriple=aarch64-none-linux-gnu -mattr=+neon -fp-contract=fast | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\neon-fma.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -verify-machineinstrs -mtriple=aarch64-none-linux-gnu -mattr=+neon -fp-contract=fast
# 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\AArch64\neon-fma.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\neon-fma.ll:72:9: error: CHECK: expected string not found in input
# | ;CHECK: fmls {{v[0-9]+}}.2s, {{v[0-9]+}}.2s, {{v[0-9]+}}.2s
# |         ^
# | <stdin>:191:26: note: scanning from here
# |  fmla v2.2d, v1.2d, v0.2d
# |                          ^
# | <stdin>:204:2: note: possible intended match here
# |  fmul v0.2s, v0.2s, v1.2s
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\neon-fma.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           186:  .p2align 2 
# |           187:  .type fmuladd2xdouble_fused, at function 
# |           188: fmuladd2xdouble_fused: // @fmuladd2xdouble_fused 
# |           189:  .cfi_startproc 
# |           190: // %bb.0: 
# |           191:  fmla v2.2d, v1.2d, v0.2d 
# | check:72'0                             {   search range start (exclusive)
# | check:72'1                                 error: no match found in search range
# |           192:  mov v0.16b, v2.16b 
# |           193:  ret 
# |           194: .Lfunc_end14: 
# |           195:  .size fmuladd2xdouble_fused, .Lfunc_end14-fmuladd2xdouble_fused 
# |           196:  .cfi_endproc 
# |           197:  // -- End function 
# |           198:  .globl fmla2xfloati_su // -- Begin function fmla2xfloati_su 
# |           199:  .p2align 2 
# |           200:  .type fmla2xfloati_su, at function 
# |           201: fmla2xfloati_su: // @fmla2xfloati_su 
# |           202:  .cfi_startproc 
# |           203: // %bb.0: 
# |           204:  fmul v0.2s, v0.2s, v1.2s 
# | check:72'2      ?                          possible intended match
# |           205:  fadd v1.2s, v2.2s, v0.2s 
# |           206:  fadd v0.2s, v1.2s, v0.2s 
# |           207:  ret 
# |           208: .Lfunc_end15: 
# |           209:  .size fmla2xfloati_su, .Lfunc_end15-fmla2xfloati_su 
# |             .
# |             .
# |             .
# |           221:  ret 
# |           222: .Lfunc_end16: 
# |           223:  .size fmls2xdouble_su, .Lfunc_end16-fmls2xdouble_su 
# |           224:  .cfi_endproc 
# |           225:  // -- End function 
# |           226:  .section ".note.GNU-stack","", at progbits 
# | check:72'3                                              } search range end (exclusive)
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>

### Clang
<details>
<summary>Clang.CodeGenCUDA/fp-contract.cu</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 14
c:\_work\llvm-project\llvm-project\build\bin\clang.exe -cc1 -internal-isystem C:\_work\llvm-project\llvm-project\build\lib\clang\24\include -nostdsysteminc -fcuda-is-device -triple nvptx-nvidia-cuda -S    -disable-llvm-passes -o - C:\_work\llvm-project\llvm-project\clang\test\CodeGenCUDA\fp-contract.cu    | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe -check-prefixes=COMMON,NV-ON C:\_work\llvm-project\llvm-project\clang\test\CodeGenCUDA\fp-contract.cu
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\clang.exe' -cc1 -internal-isystem 'C:\_work\llvm-project\llvm-project\build\lib\clang\24\include' -nostdsysteminc -fcuda-is-device -triple nvptx-nvidia-cuda -S -disable-llvm-passes -o - 'C:\_work\llvm-project\llvm-project\clang\test\CodeGenCUDA\fp-contract.cu'
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' -check-prefixes=COMMON,NV-ON 'C:\_work\llvm-project\llvm-project\clang\test\CodeGenCUDA\fp-contract.cu'
# note: command had no output on stdout or stderr
# RUN: at line 17
c:\_work\llvm-project\llvm-project\build\bin\clang.exe -cc1 -internal-isystem C:\_work\llvm-project\llvm-project\build\lib\clang\24\include -nostdsysteminc -fcuda-is-device -triple amdgpu9.06-amd-amdhsa -S    -O1 -disable-llvm-passes -o - -x hip C:\_work\llvm-project\llvm-project\clang\test\CodeGenCUDA\fp-contract.cu    | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe -check-prefixes=COMMON,AMD-ON C:\_work\llvm-project\llvm-project\clang\test\CodeGenCUDA\fp-contract.cu
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\clang.exe' -cc1 -internal-isystem 'C:\_work\llvm-project\llvm-project\build\lib\clang\24\include' -nostdsysteminc -fcuda-is-device -triple amdgpu9.06-amd-amdhsa -S -O1 -disable-llvm-passes -o - -x hip 'C:\_work\llvm-project\llvm-project\clang\test\CodeGenCUDA\fp-contract.cu'
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' -check-prefixes=COMMON,AMD-ON 'C:\_work\llvm-project\llvm-project\clang\test\CodeGenCUDA\fp-contract.cu'
# note: command had no output on stdout or stderr
# RUN: at line 20
c:\_work\llvm-project\llvm-project\build\bin\clang.exe -cc1 -internal-isystem C:\_work\llvm-project\llvm-project\build\lib\clang\24\include -nostdsysteminc -fcuda-is-device -triple nvptx-nvidia-cuda -S    -O3 -o - C:\_work\llvm-project\llvm-project\clang\test\CodeGenCUDA\fp-contract.cu    | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe -check-prefixes=COMMON,NV-OPT-FAST C:\_work\llvm-project\llvm-project\clang\test\CodeGenCUDA\fp-contract.cu
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\clang.exe' -cc1 -internal-isystem 'C:\_work\llvm-project\llvm-project\build\lib\clang\24\include' -nostdsysteminc -fcuda-is-device -triple nvptx-nvidia-cuda -S -O3 -o - 'C:\_work\llvm-project\llvm-project\clang\test\CodeGenCUDA\fp-contract.cu'
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' -check-prefixes=COMMON,NV-OPT-FAST 'C:\_work\llvm-project\llvm-project\clang\test\CodeGenCUDA\fp-contract.cu'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\clang\test\CodeGenCUDA\fp-contract.cu:269:17: error: NV-OPT-FAST: expected string not found in input
# | // NV-OPT-FAST: fma.rn.f32
# |                 ^
# | <stdin>:46:23: note: scanning from here
# |  // .globl _Z5func3fff // -- Begin function _Z5func3fff
# |                       ^
# | <stdin>:59:2: note: possible intended match here
# |  mul.rn.f32 %r4, %r2, %r3;
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\clang\test\CodeGenCUDA\fp-contract.cu
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |             41:  fma.rn.f32 %r4, %r2, %r3, %r1; 
# |             42:  st.param.b32 [func_retval0], %r4; 
# |             43:  ret; 
# |             44:  // -- End function 
# |             45: } 
# |             46:  // .globl _Z5func3fff // -- Begin function _Z5func3fff 
# | check:269'0                          {                                    search range start (exclusive)
# | check:269'1                                                               error: no match found in search range
# |             47: .visible .func (.param .b32 func_retval0) _Z5func3fff( 
# |             48:  .param .b32 _Z5func3fff_param_0, 
# |             49:  .param .b32 _Z5func3fff_param_1, 
# |             50:  .param .b32 _Z5func3fff_param_2 
# |             51: ) // @_Z5func3fff 
# |             52: { 
# |             53:  .reg .b32 %r<6>; 
# |             54:  
# |             55: // %bb.0: // %entry 
# |             56:  ld.param.b32 %r1, [_Z5func3fff_param_0]; 
# |             57:  ld.param.b32 %r2, [_Z5func3fff_param_1]; 
# |             58:  ld.param.b32 %r3, [_Z5func3fff_param_2]; 
# |             59:  mul.rn.f32 %r4, %r2, %r3; 
# | check:269'2      ?                           possible intended match
# |             60:  add.rn.f32 %r5, %r1, %r4; 
# |             61:  st.param.b32 [func_retval0], %r5; 
# |             62:  ret; 
# |             63:  // -- End function 
# |             64: } 
# | check:269'3       } search range end (exclusive)
# | >>>>>>
# `-----------------------------
# 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/221439


More information about the llvm-branch-commits mailing list