[llvm-branch-commits] [llvm] InstCombine: Fold known-qnan results to a literal nan (PR #176123)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Thu Jan 15 09:30:40 PST 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results
* 168121 tests passed
* 2990 tests skipped
* 7 tests failed
## Failed Tests
(click on a test name to see its output)
### LLVM
<details>
<summary>LLVM.Transforms/InstCombine/simplify-demanded-fpclass-exp.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -S -passes=instcombine < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-exp.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-exp.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -S -passes=instcombine
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-exp.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-exp.ll:493:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: ret float 0x7FF8000000000000
# | ^
# | <stdin>:225:109: note: scanning from here
# | define nofpclass(nzero) float @source_is_known_qnan(float nofpclass(snan inf zero sub norm) %must.be.qnan) {
# | ^
# | <stdin>:226:2: note: possible intended match here
# | ret float %must.be.qnan
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-exp.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 220:
# | 221: define nofpclass(nzero) float @source_is_known_snan(float nofpclass(qnan inf zero sub norm) %must.be.snan) {
# | 222: ret float %must.be.snan
# | 223: }
# | 224:
# | 225: define nofpclass(nzero) float @source_is_known_qnan(float nofpclass(snan inf zero sub norm) %must.be.qnan) {
# | next:493'0 X error: no match found
# | 226: ret float %must.be.qnan
# | next:493'0 ~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:493'1 ? possible intended match
# | 227: }
# | next:493'0 ~~
# | 228:
# | next:493'0 ~
# | 229: define nofpclass(nan pzero) float @source_is_known_zero_or_nan__nnan_result(float nofpclass(inf sub norm) %must.be.zero.or.nan) {
# | next:493'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 230: ret float 1.000000e+00
# | 231: }
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>LLVM.Transforms/InstCombine/simplify-demanded-fpclass-extractelement.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -S -passes=instcombine < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-extractelement.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-extractelement.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -S -passes=instcombine
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-extractelement.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-extractelement.ll:20:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: ret half 0xH7E00
# | ^
# | <stdin>:13:114: note: scanning from here
# | define nofpclass(snan inf zero sub norm) half @ret_only_qnan__extractelement_unknown(<4 x half> %vec, i32 %idx) {
# | ^
# | <stdin>:15:2: note: possible intended match here
# | ret half %ext
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-extractelement.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 8: define nofpclass(inf zero sub norm) half @ret_only_nan__extractelement_unknown(<4 x half> %vec, i32 %idx) {
# | 9: %ext = extractelement <4 x half> %vec, i32 %idx
# | 10: ret half %ext
# | 11: }
# | 12:
# | 13: define nofpclass(snan inf zero sub norm) half @ret_only_qnan__extractelement_unknown(<4 x half> %vec, i32 %idx) {
# | next:20'0 X error: no match found
# | 14: %ext = extractelement <4 x half> %vec, i32 %idx
# | next:20'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 15: ret half %ext
# | next:20'0 ~~~~~~~~~~~~~~~
# | next:20'1 ? possible intended match
# | 16: }
# | next:20'0 ~~
# | 17:
# | next:20'0 ~
# | 18: define nofpclass(qnan inf zero sub norm) half @ret_only_snan__extractelement_unknown(<4 x half> %vec, i32 %idx) {
# | next:20'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 19: %ext = extractelement <4 x half> %vec, i32 %idx
# | 20: ret half %ext
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>LLVM.Transforms/InstCombine/simplify-demanded-fpclass-fptrunc-round.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -S -passes=instcombine < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fptrunc-round.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fptrunc-round.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -S -passes=instcombine
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fptrunc-round.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fptrunc-round.ll:43:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: ret half 0xH7E00
# | ^
# | <stdin>:47:82: note: scanning from here
# | define nofpclass(snan inf zero sub norm) half @ret_only_qnan__fptrunc(float %x) {
# | ^
# | <stdin>:49:2: note: possible intended match here
# | ret half %result
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fptrunc-round.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 42: define nofpclass(qnan inf zero sub norm) half @ret_only_snan__fptrunc(float %x) {
# | 43: %result = call half @llvm.fptrunc.round.f16.f32(float %x, metadata !"round.downward")
# | 44: ret half %result
# | 45: }
# | 46:
# | 47: define nofpclass(snan inf zero sub norm) half @ret_only_qnan__fptrunc(float %x) {
# | next:43'0 X error: no match found
# | 48: %result = call half @llvm.fptrunc.round.f16.f32(float %x, metadata !"round.downward")
# | next:43'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 49: ret half %result
# | next:43'0 ~~~~~~~~~~~~~~~~~~
# | next:43'1 ? possible intended match
# | 50: }
# | next:43'0 ~~
# | 51:
# | next:43'0 ~
# | 52: define nofpclass(inf zero sub norm) half @ret_only_nan__fptrunc(float %x) {
# | next:43'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 53: %result = call half @llvm.fptrunc.round.f16.f32(float %x, metadata !"round.downward")
# | 54: ret half %result
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>LLVM.Transforms/InstCombine/simplify-demanded-fpclass-fptrunc.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -S -passes=instcombine < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fptrunc.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fptrunc.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -S -passes=instcombine
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fptrunc.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fptrunc.ll:43:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: ret half 0xH7E00
# | ^
# | <stdin>:47:82: note: scanning from here
# | define nofpclass(snan inf zero sub norm) half @ret_only_qnan__fptrunc(float %x) {
# | ^
# | <stdin>:49:2: note: possible intended match here
# | ret half %result
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fptrunc.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 42: define nofpclass(qnan inf zero sub norm) half @ret_only_snan__fptrunc(float %x) {
# | 43: %result = fptrunc float %x to half
# | 44: ret half %result
# | 45: }
# | 46:
# | 47: define nofpclass(snan inf zero sub norm) half @ret_only_qnan__fptrunc(float %x) {
# | next:43'0 X error: no match found
# | 48: %result = fptrunc float %x to half
# | next:43'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 49: ret half %result
# | next:43'0 ~~~~~~~~~~~~~~~~~~
# | next:43'1 ? possible intended match
# | 50: }
# | next:43'0 ~~
# | 51:
# | next:43'0 ~
# | 52: define nofpclass(inf zero sub norm) half @ret_only_nan__fptrunc(float %x) {
# | next:43'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 53: %result = fptrunc float %x to half
# | 54: ret half %result
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>LLVM.Transforms/InstCombine/simplify-demanded-fpclass-frexp.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -S -passes=instcombine < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-frexp.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-frexp.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -S -passes=instcombine
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-frexp.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-frexp.ll:317:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[FREXP:%.*]] = call { half, i32 } @llvm.frexp.f16.i32(half [[UNKNOWN]])
# | ^
# | <stdin>:168:40: note: scanning from here
# | %only.qnan = call half @returns_qnan()
# | ^
# | <stdin>:168:40: note: with "UNKNOWN" equal to "%unknown"
# | %only.qnan = call half @returns_qnan()
# | ^
# | <stdin>:170:3: note: possible intended match here
# | %frexp = call { half, i32 } @llvm.frexp.f16.i32(half %select)
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-frexp.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 163: %frexp.mant = extractvalue { half, i32 } %frexp, 0
# | 164: ret half %frexp.mant
# | 165: }
# | 166:
# | 167: define nofpclass(qnan) half @ret_nofpclass_qnan__frexp_select_unknown_qnan(i1 %cond, half %unknown) {
# | 168: %only.qnan = call half @returns_qnan()
# | next:317'0 X error: no match found
# | next:317'1 with "UNKNOWN" equal to "%unknown"
# | 169: %select = select i1 %cond, half %unknown, half %only.qnan
# | next:317'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 170: %frexp = call { half, i32 } @llvm.frexp.f16.i32(half %select)
# | next:317'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:317'2 ? possible intended match
# | 171: %frexp.mant = extractvalue { half, i32 } %frexp, 0
# | next:317'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 172: ret half %frexp.mant
# | next:317'0 ~~~~~~~~~~~~~~~~~~~~~~
# | 173: }
# | next:317'0 ~~
# | 174:
# | next:317'0 ~
# | 175: define nofpclass(nan) half @ret_nofpclass_nan__frexp_select_unknown_nan(i1 %cond, half %unknown) {
# | next:317'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>LLVM.Transforms/InstCombine/simplify-demanded-fpclass-insertelement.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -S -passes=instcombine < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-insertelement.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-insertelement.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -S -passes=instcombine
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-insertelement.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-insertelement.ll:32:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: ret <4 x half> splat (half 0xH7E00)
# | ^
# | <stdin>:22:131: note: scanning from here
# | define nofpclass(snan inf zero sub norm) <4 x half> @ret_only_qnan__insert_unknown_unknown(<4 x half> %vec, half %elt, i32 %idx) {
# | ^
# | <stdin>:23:21: note: possible intended match here
# | %insert = insertelement <4 x half> %vec, half %elt, i32 %idx
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-insertelement.ll:162:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[INSERT:%.*]] = insertelement <4 x half> splat (half 0xH7E00), half [[UNKNOWN_ELT]], i32 [[IDX]]
# | ^
# | <stdin>:80:43: note: scanning from here
# | %nan.vec = call <4 x half> @returns_nan()
# | ^
# | <stdin>:80:43: note: with "UNKNOWN_ELT" equal to "%unknown.elt"
# | %nan.vec = call <4 x half> @returns_nan()
# | ^
# | <stdin>:80:43: note: with "IDX" equal to "%idx"
# | %nan.vec = call <4 x half> @returns_nan()
# | ^
# | <stdin>:81:2: note: possible intended match here
# | %insert = insertelement <4 x half> %nan.vec, half %unknown.elt, i32 %idx
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-insertelement.ll:177:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[INSERT:%.*]] = insertelement <4 x half> [[UNKNOWN_VEC]], half 0xH7E00, i32 [[IDX]]
# | ^
# | <stdin>:87:41: note: scanning from here
# | %nan.elt = call half @returns_nan_f16()
# | ^
# | <stdin>:87:41: note: with "UNKNOWN_VEC" equal to "%unknown.vec"
# | %nan.elt = call half @returns_nan_f16()
# | ^
# | <stdin>:87:41: note: with "IDX" equal to "%idx"
# | %nan.elt = call half @returns_nan_f16()
# | ^
# | <stdin>:88:3: note: possible intended match here
# | %insert = insertelement <4 x half> %unknown.vec, half %nan.elt, i32 %idx
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-insertelement.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 17: define nofpclass(qnan inf zero sub norm) <4 x half> @ret_only_snan__insert_unknown_unknown(<4 x half> %vec, half %elt, i32 %idx) {
# | 18: %insert = insertelement <4 x half> %vec, half %elt, i32 %idx
# | 19: ret <4 x half> %insert
# | 20: }
# | 21:
# | 22: define nofpclass(snan inf zero sub norm) <4 x half> @ret_only_qnan__insert_unknown_unknown(<4 x half> %vec, half %elt, i32 %idx) {
# | next:32'0 X error: no match found
# | 23: %insert = insertelement <4 x half> %vec, half %elt, i32 %idx
# | next:32'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:32'1 ? possible intended match
# | 24: ret <4 x half> %insert
# | next:32'0 ~~~~~~~~~~~~~~~~~~~~~~~~
# | 25: }
# | next:32'0 ~~
# | 26:
# | next:32'0 ~
# | 27: define nofpclass(nan zero sub norm) <4 x half> @ret_only_inf__insert_unknown_unknown(<4 x half> %vec, half %elt, i32 %idx) {
# | next:32'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 28: %insert = insertelement <4 x half> %vec, half %elt, i32 %idx
# | .
# | .
# | .
# | 75: %insert = insertelement <vscale x 4 x half> %unknown.vec, half %unknown.elt, i32 %idx
# | 76: ret <vscale x 4 x half> %insert
# | 77: }
# | 78:
# | 79: define nofpclass(snan) <4 x half> @insert_unknown_taints_known_nan_vector_input(half %unknown.elt, i32 %idx) {
# | 80: %nan.vec = call <4 x half> @returns_nan()
# | next:162'0 X error: no match found
# | next:162'1 with "UNKNOWN_ELT" equal to "%unknown.elt"
# | next:162'2 with "IDX" equal to "%idx"
# | 81: %insert = insertelement <4 x half> %nan.vec, half %unknown.elt, i32 %idx
# | next:162'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:162'3 ? possible intended match
# | 82: %exp = call <4 x half> @llvm.exp.v4f16(<4 x half> %insert)
# | next:162'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 83: ret <4 x half> %exp
# | next:162'0 ~~~~~~~~~~~~~~~~~~~~~
# | 84: }
# | next:162'0 ~~
# | 85:
# | next:162'0 ~
# | 86: define nofpclass(snan) <4 x half> @insert_unknown_vector_taints_known_nan_vector_insert(<4 x half> %unknown.vec, i32 %idx) {
# | next:162'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 87: %nan.elt = call half @returns_nan_f16()
# | next:177'0 X error: no match found
# | next:177'1 with "UNKNOWN_VEC" equal to "%unknown.vec"
# | next:177'2 with "IDX" equal to "%idx"
# | 88: %insert = insertelement <4 x half> %unknown.vec, half %nan.elt, i32 %idx
# | next:177'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:177'3 ? possible intended match
# | 89: %exp = call <4 x half> @llvm.exp.v4f16(<4 x half> %insert)
# | next:177'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 90: ret <4 x half> %exp
# | next:177'0 ~~~~~~~~~~~~~~~~~~~~~
# | 91: }
# | next:177'0 ~~
# | 92:
# | next:177'0 ~
# | 93: ; Function Attrs: nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none)
# | next:177'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>LLVM.Transforms/InstCombine/simplify-demanded-fpclass-shufflevector.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -S -passes=instcombine < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-shufflevector.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-shufflevector.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -S -passes=instcombine
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-shufflevector.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-shufflevector.ll:31:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: ret <4 x half> splat (half 0xH7E00)
# | ^
# | <stdin>:20:128: note: scanning from here
# | define nofpclass(snan inf zero sub norm) <4 x half> @ret_only_qnan__shufflevector_unknown(<4 x half> %vec0, <4 x half> %vec1) {
# | ^
# | <stdin>:22:2: note: possible intended match here
# | ret <4 x half> %shuffle
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-shufflevector.ll:244:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[SHUFFLE:%.*]] = shufflevector <4 x half> <half 0xH7E00, half 0xH7E00, half poison, half 0xH7E00>, <4 x half> [[UNKNOWN]], <4 x i32> <i32 5, i32 0, i32 1, i32 3>
# | ^
# | <stdin>:117:39: note: scanning from here
# | %nan = call <4 x half> @returns_nan()
# | ^
# | <stdin>:117:39: note: with "UNKNOWN" equal to "%unknown"
# | %nan = call <4 x half> @returns_nan()
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-shufflevector.ll:259:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[SHUFFLE:%.*]] = shufflevector <4 x half> [[UNKNOWN]], <4 x half> <half poison, half 0xH7E00, half poison, half poison>, <4 x i32> <i32 5, i32 0, i32 1, i32 3>
# | ^
# | <stdin>:124:39: note: scanning from here
# | %nan = call <4 x half> @returns_nan()
# | ^
# | <stdin>:124:39: note: with "UNKNOWN" equal to "%unknown"
# | %nan = call <4 x half> @returns_nan()
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-shufflevector.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 15: define nofpclass(qnan inf zero sub norm) <4 x half> @ret_only_snan__shufflevector_unknown(<4 x half> %vec0, <4 x half> %vec1) {
# | 16: %shuffle = shufflevector <4 x half> %vec0, <4 x half> %vec1, <4 x i32> <i32 6, i32 2, i32 3, i32 0>
# | 17: ret <4 x half> %shuffle
# | 18: }
# | 19:
# | 20: define nofpclass(snan inf zero sub norm) <4 x half> @ret_only_qnan__shufflevector_unknown(<4 x half> %vec0, <4 x half> %vec1) {
# | next:31'0 X error: no match found
# | 21: %shuffle = shufflevector <4 x half> %vec0, <4 x half> %vec1, <4 x i32> <i32 6, i32 2, i32 3, i32 0>
# | next:31'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 22: ret <4 x half> %shuffle
# | next:31'0 ~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:31'1 ? possible intended match
# | 23: }
# | next:31'0 ~~
# | 24:
# | next:31'0 ~
# | 25: define nofpclass(nan inf sub norm) <4 x half> @ret_only_zero__shufflevector_unknown(<4 x half> %vec0, <4 x half> %vec1) {
# | next:31'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 26: %shuffle = shufflevector <4 x half> %vec0, <4 x half> %vec1, <4 x i32> <i32 6, i32 2, i32 3, i32 0>
# | 27: ret <4 x half> %shuffle
# | .
# | .
# | .
# | 112: %splat = shufflevector <4 x half> %select.vec, <4 x half> poison, <4 x i32> zeroinitializer
# | 113: ret <4 x half> %splat
# | 114: }
# | 115:
# | 116: define nofpclass(snan) <4 x half> @ret_nonnan_rhs_taints_known_nan_result(i1 %cond, <4 x half> %unknown) {
# | 117: %nan = call <4 x half> @returns_nan()
# | next:244'0 X error: no match found
# | next:244'1 with "UNKNOWN" equal to "%unknown"
# | 118: %shuffle = shufflevector <4 x half> %nan, <4 x half> %unknown, <4 x i32> <i32 5, i32 0, i32 1, i32 3>
# | next:244'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 119: %exp = call <4 x half> @llvm.exp.v4f16(<4 x half> %shuffle)
# | next:244'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 120: ret <4 x half> %exp
# | next:244'0 ~~~~~~~~~~~~~~~~~~~~~
# | 121: }
# | next:244'0 ~~
# | 122:
# | next:244'0 ~
# | 123: define nofpclass(snan) <4 x half> @ret_nonnan_lhs_taints_known_nan_result(i1 %cond, <4 x half> %unknown) {
# | next:244'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 124: %nan = call <4 x half> @returns_nan()
# | next:259'0 X error: no match found
# | next:259'1 with "UNKNOWN" equal to "%unknown"
# | 125: %shuffle = shufflevector <4 x half> %unknown, <4 x half> %nan, <4 x i32> <i32 5, i32 0, i32 1, i32 3>
# | next:259'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 126: %exp = call <4 x half> @llvm.exp.v4f16(<4 x half> %shuffle)
# | next:259'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 127: ret <4 x half> %exp
# | next:259'0 ~~~~~~~~~~~~~~~~~~~~~
# | 128: }
# | next:259'0 ~~
# | 129:
# | next:259'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/176123
More information about the llvm-branch-commits
mailing list