[llvm] [Analysis] Adding convert_from_arbitrary_fp support in computeKnownFPClass. (PR #208585)

via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 15 01:18:24 PDT 2026


github-actions[bot] wrote:

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

* 138495 tests passed
* 3541 tests skipped
* 1 test failed

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

### LLVM
<details>
<summary>LLVM.Transforms/Attributor/nofpclass-arbitrary-fp.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\opt.exe -aa-pipeline=basic-aa -passes=attributor -attributor-manifest-internal -S < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\Attributor\nofpclass-arbitrary-fp.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe --allow-unused-prefixes C:\_work\llvm-project\llvm-project\llvm\test\Transforms\Attributor\nofpclass-arbitrary-fp.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -aa-pipeline=basic-aa -passes=attributor -attributor-manifest-internal -S
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' --allow-unused-prefixes 'C:\_work\llvm-project\llvm-project\llvm\test\Transforms\Attributor\nofpclass-arbitrary-fp.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\Attributor\nofpclass-arbitrary-fp.ll:35:16: error: CHECK-LABEL: expected string not found in input
# | ; CHECK-LABEL: define nofpclass(inf nzero sub) float @ret_arbitrary_fp_inf_nzero_sub
# |                ^
# | <stdin>:17:75: note: scanning from here
# | define nofpclass(nan inf sub) <4 x float> @ret_arbitrary_fp_vector_nan_inf(<4 x i4> %bits) #0 {
# |                                                                           ^
# | <stdin>:23:1: note: possible intended match here
# | define float @ret_arbitrary_fp_inf_nzero_sub(i8 %bits) #0 {
# | ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\Transforms\Attributor\nofpclass-arbitrary-fp.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            12:  %fp = call nofpclass(inf sub) float @llvm.convert.from.arbitrary.fp.f32.i8(i8 %bits, metadata !"Float8E4M3FN") #2 
# |            13:  ret float %fp 
# |            14: } 
# |            15:  
# |            16: ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) 
# |            17: define nofpclass(nan inf sub) <4 x float> @ret_arbitrary_fp_vector_nan_inf(<4 x i4> %bits) #0 { 
# | label:35'0                                                                              {                        search range start (exclusive)
# | label:35'1                                                                                                       error: no match found in search range
# |            18:  %fp = call nofpclass(nan inf sub) <4 x float> @llvm.convert.from.arbitrary.fp.v4f32.v4i4(<4 x i4> %bits, metadata !"Float4E2M1FN") #2 
# |            19:  ret <4 x float> %fp 
# |            20: } 
# |            21:  
# |            22: ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) 
# |            23: define float @ret_arbitrary_fp_inf_nzero_sub(i8 %bits) #0 { 
# | label:35'2     ?                                                             possible intended match
# |            24:  %fp = call float @llvm.convert.from.arbitrary.fp.f32.i8(i8 %bits, metadata !"Float8E4M3FNUZ") #2 
# |            25:  ret float %fp 
# |            26: } 
# |            27:  
# |            28: ; Function Attrs: nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none) 
# |             .
# |             .
# |             .
# |            34: ; Function Attrs: nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none) 
# |            35: declare <4 x float> @llvm.convert.from.arbitrary.fp.v4f32.v4i4(<4 x i4>, metadata) #1 
# |            36:  
# |            37: attributes #0 = { mustprogress nofree norecurse nosync nounwind willreturn memory(none) } 
# |            38: attributes #1 = { nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none) } 
# |            39: attributes #2 = { nofree nosync willreturn } 
# | label:35'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/208585


More information about the llvm-commits mailing list