[clang] [CIR] Use declarative TableGen constraints for overflow flag verification (PR #195476)

via cfe-commits cfe-commits at lists.llvm.org
Sat May 2 12:31:29 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results

* 89142 tests passed
* 824 tests skipped
* 6 tests failed

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

### Clang
<details>
<summary>Clang.CIR/CodeGen/delete-array.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 -triple x86_64-unknown-linux-gnu -std=c++20 -fclangir -emit-cir -mmlir -mlir-print-ir-before=cir-cxxabi-lowering /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/delete-array.cpp -o /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/delete-array.cpp.tmp.cir 2> /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/delete-array.cpp.tmp-before.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 -triple x86_64-unknown-linux-gnu -std=c++20 -fclangir -emit-cir -mmlir -mlir-print-ir-before=cir-cxxabi-lowering /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/delete-array.cpp -o /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/delete-array.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/delete-array.cpp.tmp-before.cir -check-prefix=CIR-BEFORE /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/delete-array.cpp
# 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/delete-array.cpp.tmp-before.cir -check-prefix=CIR-BEFORE /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/delete-array.cpp
# note: command had no output on stdout or stderr
# RUN: at line 3
/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/delete-array.cpp.tmp.cir --check-prefix=CIR /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/delete-array.cpp
# 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/delete-array.cpp.tmp.cir --check-prefix=CIR /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/delete-array.cpp
# note: command had no output on stdout or stderr
# RUN: at line 4
/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 -triple x86_64-unknown-linux-gnu -std=c++20 -fclangir -emit-llvm /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/delete-array.cpp -o /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/delete-array.cpp.tmp-cir.ll
# 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 -triple x86_64-unknown-linux-gnu -std=c++20 -fclangir -emit-llvm /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/delete-array.cpp -o /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/delete-array.cpp.tmp-cir.ll
# note: command had no output on stdout or stderr
# RUN: at line 5
/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/delete-array.cpp.tmp-cir.ll --check-prefix=LLVM /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/delete-array.cpp
# 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/delete-array.cpp.tmp-cir.ll --check-prefix=LLVM /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/delete-array.cpp
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/delete-array.cpp:137:10: error: LLVM: expected string not found in input
# | // LLVM: %[[ARRAY_SIZE:.*]] = mul i64 4, %[[NUM_ELEM]]
# |          ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/delete-array.cpp.tmp-cir.ll:56:32: note: scanning from here
# |  %7 = load i64, ptr %6, align 4
# |                                ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/delete-array.cpp.tmp-cir.ll:56:32: note: with "NUM_ELEM" equal to "7"
# |  %7 = load i64, ptr %6, align 4
# |                                ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/delete-array.cpp.tmp-cir.ll:57:2: note: possible intended match here
# |  %8 = mul i64 %7, 4
# |  ^
# | 
# | Input file: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/delete-array.cpp.tmp-cir.ll
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/delete-array.cpp
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |             51:  %4 = icmp ne ptr %3, null 
# |             52:  br i1 %4, label %5, label %10 
# |             53:  
# |             54: 5: ; preds = %1 
# |             55:  %6 = getelementptr i8, ptr %3, i64 -8 
# |             56:  %7 = load i64, ptr %6, align 4 
# | check:137'0                                    X error: no match found
# | check:137'1                                      with "NUM_ELEM" equal to "7"
# |             57:  %8 = mul i64 %7, 4 
# | check:137'0     ~~~~~~~~~~~~~~~~~~~~
# | check:137'2      ?                   possible intended match
# |             58:  %9 = add i64 %8, 8 
# | check:137'0     ~~~~~~~~~~~~~~~~~~~~
# |             59:  call void @_ZN16SizedArrayDeletedaEPvm(ptr %6, i64 %9) 
# | check:137'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             60:  br label %10 
# | check:137'0     ~~~~~~~~~~~~~~
# |             61:  
# | check:137'0     ~
# |             62: 10: ; preds = %5, %1 
# | check:137'0     ~~~~~~~~~~~~~~~~~~~~~
# |              .
# |              .
# |              .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>Clang.CIR/CodeGen/size-of-vla.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 -triple x86_64-unknown-linux-gnu -Wno-unused-value -fclangir -emit-cir /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/size-of-vla.cpp -o /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/size-of-vla.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 -triple x86_64-unknown-linux-gnu -Wno-unused-value -fclangir -emit-cir /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/size-of-vla.cpp -o /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/size-of-vla.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/size-of-vla.cpp.tmp.cir /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/size-of-vla.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/size-of-vla.cpp.tmp.cir /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/size-of-vla.cpp -check-prefix=CIR
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/size-of-vla.cpp:43:9: error: CIR: expected string not found in input
# | // CIR: %[[SIZE:.*]] = cir.mul nuw %[[CONST_4]], %[[TMP_N]] : !u64i
# |         ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/size-of-vla.cpp.tmp.cir:20:36: note: scanning from here
# |  %4 = cir.const #cir.int<4> : !u64i loc(#loc14)
# |                                    ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/size-of-vla.cpp.tmp.cir:20:36: note: with "CONST_4" equal to "4"
# |  %4 = cir.const #cir.int<4> : !u64i loc(#loc14)
# |                                    ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/size-of-vla.cpp.tmp.cir:20:36: note: with "TMP_N" equal to "3"
# |  %4 = cir.const #cir.int<4> : !u64i loc(#loc14)
# |                                    ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/size-of-vla.cpp.tmp.cir:21:2: note: possible intended match here
# |  %5 = cir.mul nuw %3, %4 : !u64i loc(#loc42)
# |  ^
# | 
# | Input file: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/size-of-vla.cpp.tmp.cir
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/size-of-vla.cpp
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            15:  %0 = cir.alloca !u64i, !cir.ptr<!u64i>, ["n", init] {alignment = 8 : i64} loc(#loc40) 
# |            16:  %1 = cir.alloca !u64i, !cir.ptr<!u64i>, ["size", init] {alignment = 8 : i64} loc(#loc41) 
# |            17:  %2 = cir.const #cir.int<10> : !u64i loc(#loc11) 
# |            18:  cir.store align(8) %2, %0 : !u64i, !cir.ptr<!u64i> loc(#loc40) 
# |            19:  %3 = cir.load align(8) %0 : !cir.ptr<!u64i>, !u64i loc(#loc14) 
# |            20:  %4 = cir.const #cir.int<4> : !u64i loc(#loc14) 
# | check:43'0                                        X~~~~~~~~~~~~ error: no match found
# | check:43'1                                                      with "CONST_4" equal to "4"
# | check:43'2                                                      with "TMP_N" equal to "3"
# |            21:  %5 = cir.mul nuw %3, %4 : !u64i loc(#loc42) 
# | check:43'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:43'3      ?                                            possible intended match
# |            22:  cir.store align(8) %5, %1 : !u64i, !cir.ptr<!u64i> loc(#loc41) 
# | check:43'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            23:  cir.return loc(#loc9) 
# | check:43'0     ~~~~~~~~~~~~~~~~~~~~~~~
# |            24:  } loc(#loc39) 
# | check:43'0     ~~~~~~~~~~~~~~~
# |            25:  cir.func no_inline dso_local @_Z31vla_expr_element_type_of_size_1v() attributes {"cir.target-features" = "+cx8,+mmx,+sse,+sse2,+x87", nothrow} { 
# | check:43'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            26:  %0 = cir.alloca !u64i, !cir.ptr<!u64i>, ["n", init] {alignment = 8 : i64} loc(#loc44) 
# | check:43'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>Clang.CIR/CodeGen/vla.c</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 -Wno-error=incompatible-pointer-types -triple x86_64-unknown-linux-gnu -Wno-unused-value -fclangir -emit-cir /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/vla.c -o /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/vla.c.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 -Wno-error=incompatible-pointer-types -triple x86_64-unknown-linux-gnu -Wno-unused-value -fclangir -emit-cir /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/vla.c -o /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/vla.c.tmp.cir
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/vla.c:346:17: warning: incompatible pointer types initializing 'int (**)[n]' with an expression of type 'int ***' [-Wincompatible-pointer-types]
# |   346 |   (int (**)[n]){&a}[0][1][5] = 0;
# |       |                 ^~
# | 1 warning generated.
# `-----------------------------
# 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/vla.c.tmp.cir /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/vla.c -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/vla.c.tmp.cir /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/vla.c -check-prefix=CIR
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/vla.c:65:9: error: CIR: expected string not found in input
# | // CIR: %[[TOTAL_LEN:.*]] = cir.mul nuw %[[SIXTEEN]], %[[LEN_SIZE_T]]
# |         ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/vla.c.tmp.cir:64:27: note: scanning from here
# |  cir.store align(8) %5, %1 : !cir.ptr<!u8i>, !cir.ptr<!cir.ptr<!u8i>> loc(#loc110)
# |                           ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/vla.c.tmp.cir:64:27: note: with "SIXTEEN" equal to "2"
# |  cir.store align(8) %5, %1 : !cir.ptr<!u8i>, !cir.ptr<!cir.ptr<!u8i>> loc(#loc110)
# |                           ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/vla.c.tmp.cir:64:27: note: with "LEN_SIZE_T" equal to "4"
# |  cir.store align(8) %5, %1 : !cir.ptr<!u8i>, !cir.ptr<!cir.ptr<!u8i>> loc(#loc110)
# |                           ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/vla.c.tmp.cir:66:2: note: possible intended match here
# |  %6 = cir.mul nuw %4, %2 : !u64i loc(#loc17)
# |  ^
# | 
# | Input file: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/vla.c.tmp.cir
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/vla.c
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            59:  cir.store %arg0, %0 : !s32i, !cir.ptr<!s32i> loc(#loc16) 
# |            60:  %2 = cir.const #cir.int<16> : !u64i loc(#loc17) 
# |            61:  %3 = cir.load align(4) %0 : !cir.ptr<!s32i>, !s32i loc(#loc18) 
# |            62:  %4 = cir.cast integral %3 : !s32i -> !u64i loc(#loc18) 
# |            63:  %5 = cir.stacksave : !cir.ptr<!u8i> loc(#loc110) 
# |            64:  cir.store align(8) %5, %1 : !cir.ptr<!u8i>, !cir.ptr<!cir.ptr<!u8i>> loc(#loc110) 
# | check:65'0                               X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | check:65'1                                                                                         with "SIXTEEN" equal to "2"
# | check:65'2                                                                                         with "LEN_SIZE_T" equal to "4"
# |            65:  cir.cleanup.scope { 
# | check:65'0     ~~~~~~~~~~~~~~~~~~~~~
# |            66:  %6 = cir.mul nuw %4, %2 : !u64i loc(#loc17) 
# | check:65'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:65'3      ?                                            possible intended match
# |            67:  %7 = cir.alloca !s32i, !cir.ptr<!s32i>, %6 : !u64i, ["arr"] {alignment = 16 : i64} loc(#loc110) 
# | check:65'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            68:  cir.yield loc(#loc9) 
# | check:65'0     ~~~~~~~~~~~~~~~~~~~~~~
# |            69:  } cleanup normal { 
# | check:65'0     ~~~~~~~~~~~~~~~~~~~~
# |            70:  %6 = cir.load align(8) %1 : !cir.ptr<!cir.ptr<!u8i>>, !cir.ptr<!u8i> loc(#loc110) 
# | check:65'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            71:  cir.stackrestore %6 : !cir.ptr<!u8i> loc(#loc110) 
# | check:65'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>Clang.CIR/CodeGen/delete-array.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 -triple x86_64-unknown-linux-gnu -std=c++20 -fclangir -emit-cir -mmlir -mlir-print-ir-before=cir-cxxabi-lowering /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/delete-array.cpp -o /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/delete-array.cpp.tmp.cir 2> /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/delete-array.cpp.tmp-before.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 -triple x86_64-unknown-linux-gnu -std=c++20 -fclangir -emit-cir -mmlir -mlir-print-ir-before=cir-cxxabi-lowering /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/delete-array.cpp -o /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/delete-array.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/delete-array.cpp.tmp-before.cir -check-prefix=CIR-BEFORE /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/delete-array.cpp
# 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/delete-array.cpp.tmp-before.cir -check-prefix=CIR-BEFORE /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/delete-array.cpp
# note: command had no output on stdout or stderr
# RUN: at line 3
/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/delete-array.cpp.tmp.cir --check-prefix=CIR /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/delete-array.cpp
# 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/delete-array.cpp.tmp.cir --check-prefix=CIR /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/delete-array.cpp
# note: command had no output on stdout or stderr
# RUN: at line 4
/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 -triple x86_64-unknown-linux-gnu -std=c++20 -fclangir -emit-llvm /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/delete-array.cpp -o /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/delete-array.cpp.tmp-cir.ll
# 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 -triple x86_64-unknown-linux-gnu -std=c++20 -fclangir -emit-llvm /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/delete-array.cpp -o /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/delete-array.cpp.tmp-cir.ll
# note: command had no output on stdout or stderr
# RUN: at line 5
/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/delete-array.cpp.tmp-cir.ll --check-prefix=LLVM /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/delete-array.cpp
# 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/delete-array.cpp.tmp-cir.ll --check-prefix=LLVM /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/delete-array.cpp
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/delete-array.cpp:137:10: error: LLVM: expected string not found in input
# | // LLVM: %[[ARRAY_SIZE:.*]] = mul i64 4, %[[NUM_ELEM]]
# |          ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/delete-array.cpp.tmp-cir.ll:56:32: note: scanning from here
# |  %7 = load i64, ptr %6, align 4
# |                                ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/delete-array.cpp.tmp-cir.ll:56:32: note: with "NUM_ELEM" equal to "7"
# |  %7 = load i64, ptr %6, align 4
# |                                ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/delete-array.cpp.tmp-cir.ll:57:2: note: possible intended match here
# |  %8 = mul i64 %7, 4
# |  ^
# | 
# | Input file: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/delete-array.cpp.tmp-cir.ll
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/delete-array.cpp
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |             51:  %4 = icmp ne ptr %3, null 
# |             52:  br i1 %4, label %5, label %10 
# |             53:  
# |             54: 5: ; preds = %1 
# |             55:  %6 = getelementptr i8, ptr %3, i64 -8 
# |             56:  %7 = load i64, ptr %6, align 4 
# | check:137'0                                    X error: no match found
# | check:137'1                                      with "NUM_ELEM" equal to "7"
# |             57:  %8 = mul i64 %7, 4 
# | check:137'0     ~~~~~~~~~~~~~~~~~~~~
# | check:137'2      ?                   possible intended match
# |             58:  %9 = add i64 %8, 8 
# | check:137'0     ~~~~~~~~~~~~~~~~~~~~
# |             59:  call void @_ZN16SizedArrayDeletedaEPvm(ptr %6, i64 %9) 
# | check:137'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             60:  br label %10 
# | check:137'0     ~~~~~~~~~~~~~~
# |             61:  
# | check:137'0     ~
# |             62: 10: ; preds = %5, %1 
# | check:137'0     ~~~~~~~~~~~~~~~~~~~~~
# |              .
# |              .
# |              .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>Clang.CIR/CodeGen/size-of-vla.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 -triple x86_64-unknown-linux-gnu -Wno-unused-value -fclangir -emit-cir /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/size-of-vla.cpp -o /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/size-of-vla.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 -triple x86_64-unknown-linux-gnu -Wno-unused-value -fclangir -emit-cir /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/size-of-vla.cpp -o /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/size-of-vla.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/size-of-vla.cpp.tmp.cir /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/size-of-vla.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/size-of-vla.cpp.tmp.cir /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/size-of-vla.cpp -check-prefix=CIR
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/size-of-vla.cpp:43:9: error: CIR: expected string not found in input
# | // CIR: %[[SIZE:.*]] = cir.mul nuw %[[CONST_4]], %[[TMP_N]] : !u64i
# |         ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/size-of-vla.cpp.tmp.cir:20:36: note: scanning from here
# |  %4 = cir.const #cir.int<4> : !u64i loc(#loc14)
# |                                    ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/size-of-vla.cpp.tmp.cir:20:36: note: with "CONST_4" equal to "4"
# |  %4 = cir.const #cir.int<4> : !u64i loc(#loc14)
# |                                    ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/size-of-vla.cpp.tmp.cir:20:36: note: with "TMP_N" equal to "3"
# |  %4 = cir.const #cir.int<4> : !u64i loc(#loc14)
# |                                    ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/size-of-vla.cpp.tmp.cir:21:2: note: possible intended match here
# |  %5 = cir.mul nuw %3, %4 : !u64i loc(#loc42)
# |  ^
# | 
# | Input file: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/size-of-vla.cpp.tmp.cir
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/size-of-vla.cpp
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            15:  %0 = cir.alloca !u64i, !cir.ptr<!u64i>, ["n", init] {alignment = 8 : i64} loc(#loc40) 
# |            16:  %1 = cir.alloca !u64i, !cir.ptr<!u64i>, ["size", init] {alignment = 8 : i64} loc(#loc41) 
# |            17:  %2 = cir.const #cir.int<10> : !u64i loc(#loc11) 
# |            18:  cir.store align(8) %2, %0 : !u64i, !cir.ptr<!u64i> loc(#loc40) 
# |            19:  %3 = cir.load align(8) %0 : !cir.ptr<!u64i>, !u64i loc(#loc14) 
# |            20:  %4 = cir.const #cir.int<4> : !u64i loc(#loc14) 
# | check:43'0                                        X~~~~~~~~~~~~ error: no match found
# | check:43'1                                                      with "CONST_4" equal to "4"
# | check:43'2                                                      with "TMP_N" equal to "3"
# |            21:  %5 = cir.mul nuw %3, %4 : !u64i loc(#loc42) 
# | check:43'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:43'3      ?                                            possible intended match
# |            22:  cir.store align(8) %5, %1 : !u64i, !cir.ptr<!u64i> loc(#loc41) 
# | check:43'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            23:  cir.return loc(#loc9) 
# | check:43'0     ~~~~~~~~~~~~~~~~~~~~~~~
# |            24:  } loc(#loc39) 
# | check:43'0     ~~~~~~~~~~~~~~~
# |            25:  cir.func no_inline dso_local @_Z31vla_expr_element_type_of_size_1v() attributes {"cir.target-features" = "+cx8,+mmx,+sse,+sse2,+x87", nothrow} { 
# | check:43'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            26:  %0 = cir.alloca !u64i, !cir.ptr<!u64i>, ["n", init] {alignment = 8 : i64} loc(#loc44) 
# | check:43'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>Clang.CIR/CodeGen/vla.c</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 -Wno-error=incompatible-pointer-types -triple x86_64-unknown-linux-gnu -Wno-unused-value -fclangir -emit-cir /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/vla.c -o /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/vla.c.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 -Wno-error=incompatible-pointer-types -triple x86_64-unknown-linux-gnu -Wno-unused-value -fclangir -emit-cir /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/vla.c -o /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/vla.c.tmp.cir
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/vla.c:346:17: warning: incompatible pointer types initializing 'int (**)[n]' with an expression of type 'int ***' [-Wincompatible-pointer-types]
# |   346 |   (int (**)[n]){&a}[0][1][5] = 0;
# |       |                 ^~
# | 1 warning generated.
# `-----------------------------
# 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/vla.c.tmp.cir /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/vla.c -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/vla.c.tmp.cir /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/vla.c -check-prefix=CIR
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/vla.c:65:9: error: CIR: expected string not found in input
# | // CIR: %[[TOTAL_LEN:.*]] = cir.mul nuw %[[SIXTEEN]], %[[LEN_SIZE_T]]
# |         ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/vla.c.tmp.cir:64:27: note: scanning from here
# |  cir.store align(8) %5, %1 : !cir.ptr<!u8i>, !cir.ptr<!cir.ptr<!u8i>> loc(#loc110)
# |                           ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/vla.c.tmp.cir:64:27: note: with "SIXTEEN" equal to "2"
# |  cir.store align(8) %5, %1 : !cir.ptr<!u8i>, !cir.ptr<!cir.ptr<!u8i>> loc(#loc110)
# |                           ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/vla.c.tmp.cir:64:27: note: with "LEN_SIZE_T" equal to "4"
# |  cir.store align(8) %5, %1 : !cir.ptr<!u8i>, !cir.ptr<!cir.ptr<!u8i>> loc(#loc110)
# |                           ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/vla.c.tmp.cir:66:2: note: possible intended match here
# |  %6 = cir.mul nuw %4, %2 : !u64i loc(#loc17)
# |  ^
# | 
# | Input file: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/CIR/CodeGen/Output/vla.c.tmp.cir
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/CIR/CodeGen/vla.c
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            59:  cir.store %arg0, %0 : !s32i, !cir.ptr<!s32i> loc(#loc16) 
# |            60:  %2 = cir.const #cir.int<16> : !u64i loc(#loc17) 
# |            61:  %3 = cir.load align(4) %0 : !cir.ptr<!s32i>, !s32i loc(#loc18) 
# |            62:  %4 = cir.cast integral %3 : !s32i -> !u64i loc(#loc18) 
# |            63:  %5 = cir.stacksave : !cir.ptr<!u8i> loc(#loc110) 
# |            64:  cir.store align(8) %5, %1 : !cir.ptr<!u8i>, !cir.ptr<!cir.ptr<!u8i>> loc(#loc110) 
# | check:65'0                               X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | check:65'1                                                                                         with "SIXTEEN" equal to "2"
# | check:65'2                                                                                         with "LEN_SIZE_T" equal to "4"
# |            65:  cir.cleanup.scope { 
# | check:65'0     ~~~~~~~~~~~~~~~~~~~~~
# |            66:  %6 = cir.mul nuw %4, %2 : !u64i loc(#loc17) 
# | check:65'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:65'3      ?                                            possible intended match
# |            67:  %7 = cir.alloca !s32i, !cir.ptr<!s32i>, %6 : !u64i, ["arr"] {alignment = 16 : i64} loc(#loc110) 
# | check:65'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            68:  cir.yield loc(#loc9) 
# | check:65'0     ~~~~~~~~~~~~~~~~~~~~~~
# |            69:  } cleanup normal { 
# | check:65'0     ~~~~~~~~~~~~~~~~~~~~
# |            70:  %6 = cir.load align(8) %1 : !cir.ptr<!cir.ptr<!u8i>>, !cir.ptr<!u8i> loc(#loc110) 
# | check:65'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            71:  cir.stackrestore %6 : !cir.ptr<!u8i> loc(#loc110) 
# | check:65'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/195476


More information about the cfe-commits mailing list