[clang] [CIR] Add token type and none token attribute for coroutine intrinsics (PR #194515)
via cfe-commits
cfe-commits at lists.llvm.org
Mon Apr 27 20:11:46 PDT 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results
* 89056 tests passed
* 828 tests skipped
* 2 tests failed
## Failed Tests
(click on a test name to see its output)
### Clang
<details>
<summary>Clang.CIR/CodeGen/coro-task.cpp</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang -cc1 -internal-isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/clang/23/include -nostdsysteminc -std=c++20 -triple x86_64-unknown-linux-gnu -fclangir -emit-cir /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/coro-task.cpp -o /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/coro-task.cpp.tmp.cir
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang -cc1 -internal-isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/clang/23/include -nostdsysteminc -std=c++20 -triple x86_64-unknown-linux-gnu -fclangir -emit-cir /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/coro-task.cpp -o /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/coro-task.cpp.tmp.cir
# note: command had no output on stdout or stderr
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --input-file=/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/coro-task.cpp.tmp.cir /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/coro-task.cpp -check-prefix=CIR
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --input-file=/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/coro-task.cpp.tmp.cir /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/coro-task.cpp -check-prefix=CIR
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/coro-task.cpp:340:9: error: CIR: expected string not found in input
# | // CIR: cir.call @__builtin_coro_end(%[[CoroEndArg0]], %[[CoroEndArg1]], %[[CoroEndArg2]])
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/coro-task.cpp.tmp.cir:288:46: note: scanning from here
# | %19 = cir.const #cir.token_none : !cir.token loc(#loc54)
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/coro-task.cpp.tmp.cir:288:46: note: with "CoroEndArg0" equal to "11"
# | %19 = cir.const #cir.token_none : !cir.token loc(#loc54)
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/coro-task.cpp.tmp.cir:288:46: note: with "CoroEndArg1" equal to "19"
# | %19 = cir.const #cir.token_none : !cir.token loc(#loc54)
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/coro-task.cpp.tmp.cir:288:46: note: with "CoroEndArg2" equal to "19"
# | %19 = cir.const #cir.token_none : !cir.token loc(#loc54)
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/coro-task.cpp.tmp.cir:289:2: note: possible intended match here
# | cir.call @__builtin_coro_end(%17, %18, %19) : (!cir.ptr<!void>, !cir.bool, !cir.token) -> () loc(#loc54)
# | ^
# |
# | Input file: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/coro-task.cpp.tmp.cir
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/coro-task.cpp
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 283: } loc(#loc56)
# | 284: cir.yield loc(#loc38)
# | 285: } loc(#loc38)
# | 286: %17 = cir.const #cir.ptr<null> : !cir.ptr<!void> loc(#loc54)
# | 287: %18 = cir.const #false loc(#loc54)
# | 288: %19 = cir.const #cir.token_none : !cir.token loc(#loc54)
# | check:340'0 X~~~~~~~~~~~~ error: no match found
# | check:340'1 with "CoroEndArg0" equal to "11"
# | check:340'2 with "CoroEndArg1" equal to "19"
# | check:340'3 with "CoroEndArg2" equal to "19"
# | 289: cir.call @__builtin_coro_end(%17, %18, %19) : (!cir.ptr<!void>, !cir.bool, !cir.token) -> () loc(#loc54)
# | check:340'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:340'4 ? possible intended match
# | 290: %20 = cir.load %1 : !cir.ptr<!rec_folly3A3Acoro3A3ATask3Cint3E>, !rec_folly3A3Acoro3A3ATask3Cint3E loc(#loc56)
# | check:340'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 291: cir.return %20 : !rec_folly3A3Acoro3A3ATask3Cint3E loc(#loc56)
# | check:340'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 292: } loc(#loc252)
# | check:340'0 ~~~~~~~~~~~~~~~~
# | 293: cir.func private @_ZNSt8optionalIN5folly4coro4TaskIiEEEC1Ev(!cir.ptr<!rec_std3A3Aoptional3Cfolly3A3Acoro3A3ATask3Cint3E3E> {llvm.align = 1 : i64, llvm.dereferenceable = 1 : i64, llvm.nonnull, llvm.noundef}) special_member<#cir.cxx_ctor<!rec_std3A3Aoptional3Cfolly3A3Acoro3A3ATask3Cint3E3E, default>> loc(#loc255)
# | check:340'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 294: cir.func private @_ZNSt6stringC1EPKc(!cir.ptr<!rec_std3A3Astring> {llvm.align = 1 : i64, llvm.dereferenceable = 1 : i64, llvm.nonnull, llvm.noundef}, !cir.ptr<!s8i> {llvm.noundef}) special_member<#cir.cxx_ctor<!rec_std3A3Astring, custom>> loc(#loc256)
# | check:340'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>Clang.CIR/CodeGen/coro-task.cpp</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang -cc1 -internal-isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/clang/23/include -nostdsysteminc -std=c++20 -triple x86_64-unknown-linux-gnu -fclangir -emit-cir /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/coro-task.cpp -o /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/coro-task.cpp.tmp.cir
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang -cc1 -internal-isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/clang/23/include -nostdsysteminc -std=c++20 -triple x86_64-unknown-linux-gnu -fclangir -emit-cir /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/coro-task.cpp -o /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/coro-task.cpp.tmp.cir
# note: command had no output on stdout or stderr
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --input-file=/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/coro-task.cpp.tmp.cir /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/coro-task.cpp -check-prefix=CIR
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --input-file=/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/coro-task.cpp.tmp.cir /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/coro-task.cpp -check-prefix=CIR
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/coro-task.cpp:340:9: error: CIR: expected string not found in input
# | // CIR: cir.call @__builtin_coro_end(%[[CoroEndArg0]], %[[CoroEndArg1]], %[[CoroEndArg2]])
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/coro-task.cpp.tmp.cir:288:46: note: scanning from here
# | %19 = cir.const #cir.token_none : !cir.token loc(#loc54)
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/coro-task.cpp.tmp.cir:288:46: note: with "CoroEndArg0" equal to "11"
# | %19 = cir.const #cir.token_none : !cir.token loc(#loc54)
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/coro-task.cpp.tmp.cir:288:46: note: with "CoroEndArg1" equal to "19"
# | %19 = cir.const #cir.token_none : !cir.token loc(#loc54)
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/coro-task.cpp.tmp.cir:288:46: note: with "CoroEndArg2" equal to "19"
# | %19 = cir.const #cir.token_none : !cir.token loc(#loc54)
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/coro-task.cpp.tmp.cir:289:2: note: possible intended match here
# | cir.call @__builtin_coro_end(%17, %18, %19) : (!cir.ptr<!void>, !cir.bool, !cir.token) -> () loc(#loc54)
# | ^
# |
# | Input file: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/coro-task.cpp.tmp.cir
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/coro-task.cpp
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 283: } loc(#loc56)
# | 284: cir.yield loc(#loc38)
# | 285: } loc(#loc38)
# | 286: %17 = cir.const #cir.ptr<null> : !cir.ptr<!void> loc(#loc54)
# | 287: %18 = cir.const #false loc(#loc54)
# | 288: %19 = cir.const #cir.token_none : !cir.token loc(#loc54)
# | check:340'0 X~~~~~~~~~~~~ error: no match found
# | check:340'1 with "CoroEndArg0" equal to "11"
# | check:340'2 with "CoroEndArg1" equal to "19"
# | check:340'3 with "CoroEndArg2" equal to "19"
# | 289: cir.call @__builtin_coro_end(%17, %18, %19) : (!cir.ptr<!void>, !cir.bool, !cir.token) -> () loc(#loc54)
# | check:340'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:340'4 ? possible intended match
# | 290: %20 = cir.load %1 : !cir.ptr<!rec_folly3A3Acoro3A3ATask3Cint3E>, !rec_folly3A3Acoro3A3ATask3Cint3E loc(#loc56)
# | check:340'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 291: cir.return %20 : !rec_folly3A3Acoro3A3ATask3Cint3E loc(#loc56)
# | check:340'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 292: } loc(#loc252)
# | check:340'0 ~~~~~~~~~~~~~~~~
# | 293: cir.func private @_ZNSt8optionalIN5folly4coro4TaskIiEEEC1Ev(!cir.ptr<!rec_std3A3Aoptional3Cfolly3A3Acoro3A3ATask3Cint3E3E> {llvm.align = 1 : i64, llvm.dereferenceable = 1 : i64, llvm.nonnull, llvm.noundef}) special_member<#cir.cxx_ctor<!rec_std3A3Aoptional3Cfolly3A3Acoro3A3ATask3Cint3E3E, default>> loc(#loc255)
# | check:340'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 294: cir.func private @_ZNSt6stringC1EPKc(!cir.ptr<!rec_std3A3Astring> {llvm.align = 1 : i64, llvm.dereferenceable = 1 : i64, llvm.nonnull, llvm.noundef}, !cir.ptr<!s8i> {llvm.noundef}) special_member<#cir.cxx_ctor<!rec_std3A3Astring, custom>> loc(#loc256)
# | check:340'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/194515
More information about the cfe-commits
mailing list