[llvm] [DAG] Add basic ISD::IS_FPCLASS constant/identity folds (PR #189944)

via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 1 05:16:13 PDT 2026


github-actions[bot] wrote:

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

* 132974 tests passed
* 3047 tests skipped
* 2 tests failed

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

### LLVM
<details>
<summary>LLVM.CodeGen/LoongArch/is_fpclass_f32.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe --mtriple=loongarch32 --mattr=+f --verify-machineinstrs < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\LoongArch\is_fpclass_f32.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\LoongArch\is_fpclass_f32.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' --mtriple=loongarch32 --mattr=+f --verify-machineinstrs
# .---command stderr------------
# | warning: 'ilp32f' has not been standardized
# `-----------------------------
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\LoongArch\is_fpclass_f32.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\LoongArch\is_fpclass_f32.ll:450:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: fclass.s $fa0, $fa0
# |               ^
# | <stdin>:518:18: note: scanning from here
# | # %bb.0: # %entry
# |                  ^
# | <stdin>:519:2: note: possible intended match here
# |  move $a0, $zero
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\LoongArch\is_fpclass_f32.ll:463:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: fclass.s $fa0, $fa0
# |               ^
# | <stdin>:530:18: note: scanning from here
# | # %bb.0: # %entry
# |                  ^
# | <stdin>:531:4: note: possible intended match here
# |  ori $a0, $zero, 1
# |    ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\LoongArch\is_fpclass_f32.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           513:  .globl isnone_f # -- Begin function isnone_f 
# |           514:  .p2align 5 
# |           515:  .type isnone_f, at function 
# |           516: isnone_f: # @isnone_f 
# |           517:  .cfi_startproc 
# |           518: # %bb.0: # %entry 
# | next:450'0                      X error: no match found
# |           519:  move $a0, $zero 
# | next:450'0     ~~~~~~~~~~~~~~~~~
# | next:450'1      ?                possible intended match
# |           520:  ret 
# | next:450'0     ~~~~~
# |           521: .Lfunc_end34: 
# | next:450'0     ~~~~~~~~~~~~~~
# |           522:  .size isnone_f, .Lfunc_end34-isnone_f 
# | next:450'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           523:  .cfi_endproc 
# | next:450'0     ~~~~~~~~~~~~~~
# |           524:  # -- End function 
# | next:450'0     ~~~~~~~~~~~~~~~~~~~
# |           525:  .globl isany_f # -- Begin function isany_f 
# | next:450'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           526:  .p2align 5 
# | next:450'0     ~~~~~~~~~~~~
# |           527:  .type isany_f, at function 
# | next:450'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
# |           528: isany_f: # @isany_f 
# | next:450'0     ~~~~~~~~
# |           529:  .cfi_startproc 
# |           530: # %bb.0: # %entry 
# | next:463'0                      X error: no match found
# |           531:  ori $a0, $zero, 1 
# | next:463'0     ~~~~~~~~~~~~~~~~~~~
# | next:463'1        ?                possible intended match
# |           532:  ret 
# | next:463'0     ~~~~~
# |           533: .Lfunc_end35: 
# | next:463'0     ~~~~~~~~~~~~~~
# |           534:  .size isany_f, .Lfunc_end35-isany_f 
# | next:463'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           535:  .cfi_endproc 
# | next:463'0     ~~~~~~~~~~~~~~
# |           536:  # -- End function 
# | next:463'0     ~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.CodeGen/LoongArch/is_fpclass_f64.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe --mtriple=loongarch32 --mattr=+d --verify-machineinstrs < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\LoongArch\is_fpclass_f64.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\LoongArch\is_fpclass_f64.ll --check-prefix=CHECK32
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' --mtriple=loongarch32 --mattr=+d --verify-machineinstrs
# 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\LoongArch\is_fpclass_f64.ll' --check-prefix=CHECK32
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\LoongArch\is_fpclass_f64.ll:722:17: error: CHECK32-NEXT: expected string not found in input
# | ; CHECK32-NEXT: fclass.d $fa0, $fa0
# |                 ^
# | <stdin>:518:18: note: scanning from here
# | # %bb.0: # %entry
# |                  ^
# | <stdin>:519:2: note: possible intended match here
# |  move $a0, $zero
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\LoongArch\is_fpclass_f64.ll:743:17: error: CHECK32-NEXT: expected string not found in input
# | ; CHECK32-NEXT: fclass.d $fa0, $fa0
# |                 ^
# | <stdin>:530:18: note: scanning from here
# | # %bb.0: # %entry
# |                  ^
# | <stdin>:531:4: note: possible intended match here
# |  ori $a0, $zero, 1
# |    ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\LoongArch\is_fpclass_f64.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           513:  .globl isnone_d # -- Begin function isnone_d 
# |           514:  .p2align 5 
# |           515:  .type isnone_d, at function 
# |           516: isnone_d: # @isnone_d 
# |           517:  .cfi_startproc 
# |           518: # %bb.0: # %entry 
# | next:722'0                      X error: no match found
# |           519:  move $a0, $zero 
# | next:722'0     ~~~~~~~~~~~~~~~~~
# | next:722'1      ?                possible intended match
# |           520:  ret 
# | next:722'0     ~~~~~
# |           521: .Lfunc_end34: 
# | next:722'0     ~~~~~~~~~~~~~~
# |           522:  .size isnone_d, .Lfunc_end34-isnone_d 
# | next:722'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           523:  .cfi_endproc 
# | next:722'0     ~~~~~~~~~~~~~~
# |           524:  # -- End function 
# | next:722'0     ~~~~~~~~~~~~~~~~~~~
# |           525:  .globl isany_d # -- Begin function isany_d 
# | next:722'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           526:  .p2align 5 
# | next:722'0     ~~~~~~~~~~~~
# |           527:  .type isany_d, at function 
# | next:722'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
# |           528: isany_d: # @isany_d 
# | next:722'0     ~~~~~~~~
# |           529:  .cfi_startproc 
# |           530: # %bb.0: # %entry 
# | next:743'0                      X error: no match found
# |           531:  ori $a0, $zero, 1 
# | next:743'0     ~~~~~~~~~~~~~~~~~~~
# | next:743'1        ?                possible intended match
# |           532:  ret 
# | next:743'0     ~~~~~
# |           533: .Lfunc_end35: 
# | next:743'0     ~~~~~~~~~~~~~~
# |           534:  .size isany_d, .Lfunc_end35-isany_d 
# | next:743'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           535:  .cfi_endproc 
# | next:743'0     ~~~~~~~~~~~~~~
# |           536:  # -- End function 
# | next:743'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/189944


More information about the llvm-commits mailing list