[clang] [llvm] [LoopTiling][Clang] Canonical Intra-tile Loops (PR #191114)
via cfe-commits
cfe-commits at lists.llvm.org
Wed Apr 8 23:54:52 PDT 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results
* 172310 tests passed
* 3128 tests skipped
* 14 tests failed
## Failed Tests
(click on a test name to see its output)
### MLIR
<details>
<summary>MLIR.Target/LLVMIR/openmp-cli-tile01.mlir</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-translate -mlir-to-llvmir /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-cli-tile01.mlir | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-cli-tile01.mlir --enable-var-scope
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-translate -mlir-to-llvmir /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-cli-tile01.mlir
# 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/mlir/test/Target/LLVMIR/openmp-cli-tile01.mlir --enable-var-scope
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-cli-tile01.mlir:41:16: error: CHECK-NEXT: expected string not found in input
# | // CHECK-NEXT: %[[TMP8:.+]] = icmp eq i32 %[[OMP_FLOOR0_IV:.+]], %[[TMP4:.+]]
# | ^
# | <stdin>:26:17: note: scanning from here
# | omp_floor0.body: ; preds = %omp_floor0.cond
# | ^
# | <stdin>:43:16: note: possible intended match here
# | %omp_tile0.inbounds = icmp ult i32 %9, %1
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-cli-tile01.mlir
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 21:
# | 22: omp_floor0.cond: ; preds = %omp_floor0.header
# | 23: %omp_floor0.cmp = icmp ult i32 %omp_floor0.iv, %omp_floor0.tripcount
# | 24: br i1 %omp_floor0.cmp, label %omp_floor0.body, label %omp_floor0.exit
# | 25:
# | 26: omp_floor0.body: ; preds = %omp_floor0.cond
# | next:41'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | 27: br label %omp_tile0.preheader
# | next:41'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 28:
# | next:41'0 ~
# | 29: omp_tile0.preheader: ; preds = %omp_floor0.body
# | next:41'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 30: br label %omp_tile0.header
# | next:41'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 31:
# | next:41'0 ~
# | .
# | .
# | .
# | 38: br i1 %omp_tile0.cmp, label %omp_tile0.body, label %omp_tile0.exit
# | next:41'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 39:
# | next:41'0 ~
# | 40: omp_tile0.body: ; preds = %omp_tile0.cond
# | next:41'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 41: %8 = mul nuw i32 %2, %omp_floor0.iv
# | next:41'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 42: %9 = add nuw i32 %8, %omp_tile0.iv
# | next:41'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 43: %omp_tile0.inbounds = icmp ult i32 %9, %1
# | next:41'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:41'1 ? possible intended match
# | 44: br i1 %omp_tile0.inbounds, label %omp_omp.loop.body, label %omp_tile.body.merge
# | next:41'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 45:
# | next:41'0 ~
# | 46: omp_omp.loop.body: ; preds = %omp_tile0.body
# | next:41'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 47: br label %omp.loop.region
# | next:41'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 48:
# | next:41'0 ~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>MLIR.Target/LLVMIR/openmp-cli-tile02.mlir</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-translate -mlir-to-llvmir /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-cli-tile02.mlir | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-cli-tile02.mlir --enable-var-scope
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-translate -mlir-to-llvmir /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-cli-tile02.mlir
# 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/mlir/test/Target/LLVMIR/openmp-cli-tile02.mlir --enable-var-scope
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-cli-tile02.mlir:82:16: error: CHECK-NEXT: expected string not found in input
# | // CHECK-NEXT: %[[TMP14:.+]] = icmp eq i32 %[[OMP_FLOOR0_IV:.+]], %[[TMP6:.+]]
# | ^
# | <stdin>:62:17: note: scanning from here
# | omp_floor1.body: ; preds = %omp_floor1.cond
# | ^
# | <stdin>:95:16: note: possible intended match here
# | %omp_tile0.inbounds = icmp ult i32 %15, %1
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-cli-tile02.mlir
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 57:
# | 58: omp_floor1.cond: ; preds = %omp_floor1.header
# | 59: %omp_floor1.cmp = icmp ult i32 %omp_floor1.iv, %omp_floor1.tripcount
# | 60: br i1 %omp_floor1.cmp, label %omp_floor1.body, label %omp_floor1.exit
# | 61:
# | 62: omp_floor1.body: ; preds = %omp_floor1.cond
# | next:82'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | 63: br label %omp_tile0.preheader
# | next:82'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 64:
# | next:82'0 ~
# | 65: omp_tile0.preheader: ; preds = %omp_floor1.body
# | next:82'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 66: br label %omp_tile0.header
# | next:82'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 67:
# | next:82'0 ~
# | .
# | .
# | .
# | 90: omp_tile1.body: ; preds = %omp_tile1.cond
# | next:82'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 91: %14 = mul nuw i32 %3, %omp_floor0.iv
# | next:82'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 92: %15 = add nuw i32 %14, %omp_tile0.iv
# | next:82'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 93: %16 = mul nuw i32 %4, %omp_floor1.iv
# | next:82'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 94: %17 = add nuw i32 %16, %omp_tile1.iv
# | next:82'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 95: %omp_tile0.inbounds = icmp ult i32 %15, %1
# | next:82'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:82'1 ? possible intended match
# | 96: %omp_tile1.inbounds = icmp ult i32 %17, %2
# | next:82'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 97: %18 = and i1 %omp_tile0.inbounds, %omp_tile1.inbounds
# | next:82'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 98: br i1 %18, label %omp_omp.loop.body, label %omp_tile.body.merge
# | next:82'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 99:
# | next:82'0 ~
# | 100: omp_omp.loop.body4: ; preds = %omp_omp.loop.preheader1
# | next:82'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>MLIR.Target/LLVMIR/openmp-cli-tile03.mlir</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-translate -mlir-to-llvmir /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-cli-tile03.mlir | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-cli-tile03.mlir --enable-var-scope
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-translate -mlir-to-llvmir /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-cli-tile03.mlir
# 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/mlir/test/Target/LLVMIR/openmp-cli-tile03.mlir --enable-var-scope
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-cli-tile03.mlir:59:16: error: CHECK-NEXT: expected string not found in input
# | // CHECK-NEXT: %[[TMP14:.+]] = icmp eq i32 %[[OMP_FLOOR0_IV9:.+]], %[[TMP10:.+]]
# | ^
# | <stdin>:34:18: note: scanning from here
# | omp_floor0.body5: ; preds = %omp_floor0.cond4
# | ^
# | <stdin>:60:2: note: possible intended match here
# | %18 = icmp ne i32 %17, 0
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-cli-tile03.mlir
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 29:
# | 30: omp_floor0.cond4: ; preds = %omp_floor0.header3
# | 31: %omp_floor0.cmp10 = icmp ult i32 %omp_floor0.iv9, %omp_floor0.tripcount1
# | 32: br i1 %omp_floor0.cmp10, label %omp_floor0.body5, label %omp_floor0.exit7
# | 33:
# | 34: omp_floor0.body5: ; preds = %omp_floor0.cond4
# | next:59'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | 35: br label %omp_tile0.preheader12
# | next:59'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 36:
# | next:59'0 ~
# | 37: omp_tile0.preheader12: ; preds = %omp_floor0.body5
# | next:59'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 38: br label %omp_tile0.header13
# | next:59'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 39:
# | next:59'0 ~
# | .
# | .
# | .
# | 55: br label %omp_tile0.preheader
# | next:59'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 56:
# | next:59'0 ~
# | 57: omp_tile0.preheader: ; preds = %omp_floor0.body
# | next:59'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 58: %16 = udiv i32 %2, %4
# | next:59'0 ~~~~~~~~~~~~~~~~~~~~~~~
# | 59: %17 = urem i32 %2, %4
# | next:59'0 ~~~~~~~~~~~~~~~~~~~~~~~
# | 60: %18 = icmp ne i32 %17, 0
# | next:59'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:59'1 ? possible intended match
# | 61: %19 = zext i1 %18 to i32
# | next:59'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 62: %omp_floor0.tripcount24 = add nuw i32 %16, %19
# | next:59'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 63: br label %omp_floor0.preheader25
# | next:59'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 64:
# | next:59'0 ~
# | 65: omp_floor0.preheader25: ; preds = %omp_tile0.preheader
# | next:59'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
### Clang
<details>
<summary>Clang.OpenMP/interchange_codegen.cpp</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 6
/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 -verify -triple x86_64-pc-linux-gnu -std=c++20 -fclang-abi-compat=latest -fopenmp -fopenmp-version=60 -emit-llvm /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/interchange_codegen.cpp -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --allow-unused-prefixes /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/interchange_codegen.cpp --check-prefix=CHECK1
# 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 -verify -triple x86_64-pc-linux-gnu -std=c++20 -fclang-abi-compat=latest -fopenmp -fopenmp-version=60 -emit-llvm /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/interchange_codegen.cpp -o -
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --allow-unused-prefixes /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/interchange_codegen.cpp --check-prefix=CHECK1
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/interchange_codegen.cpp:815:17: error: CHECK1-NEXT: is not on the line after the previous match
# | // CHECK1-NEXT: [[DOTCAPTURE_EXPR_17:%.*]] = alloca i32, align 4
# | ^
# | <stdin>:791:2: note: 'next' match was here
# | %i = alloca i32, align 4
# | ^
# | <stdin>:789:41: note: previous match ended here
# | %.capture_expr.14 = alloca i32, align 4
# | ^
# | <stdin>:790:1: note: non-matching line after previous match is here
# | %.capture_expr.16 = alloca i64, align 8
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/interchange_codegen.cpp:1525:17: error: CHECK1-NEXT: is not on the line after the previous match
# | // CHECK1-NEXT: [[DOTCAPTURE_EXPR_17:%.*]] = alloca i32, align 4
# | ^
# | <stdin>:1337:2: note: 'next' match was here
# | %i = alloca i32, align 4
# | ^
# | <stdin>:1335:41: note: previous match ended here
# | %.capture_expr.14 = alloca i32, align 4
# | ^
# | <stdin>:1336:1: note: non-matching line after previous match is here
# | %.capture_expr.16 = alloca i64, align 8
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/interchange_codegen.cpp
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 786: %.new_step10 = alloca i32, align 4
# | 787: %.capture_expr.11 = alloca i32, align 4
# | 788: %.tile_0.iv.k = alloca i32, align 4
# | 789: %.capture_expr.14 = alloca i32, align 4
# | 790: %.capture_expr.16 = alloca i64, align 8
# | 791: %i = alloca i32, align 4
# | next:815 !~~~~~~~~~~~~~~~~~~~~~~~ error: match on wrong line
# | 792: %j = alloca i32, align 4
# | 793: %.floor_0.iv.k = alloca i32, align 4
# | 794: %.tile.cnt.0.iv.k = alloca i32, align 4
# | 795: %.omp.lb = alloca i64, align 8
# | 796: %.omp.ub = alloca i64, align 8
# | .
# | .
# | .
# | 1332: %.new_step10 = alloca i32, align 4
# | 1333: %.capture_expr.11 = alloca i32, align 4
# | 1334: %.tile_0.iv.k = alloca i32, align 4
# | 1335: %.capture_expr.14 = alloca i32, align 4
# | 1336: %.capture_expr.16 = alloca i64, align 8
# | 1337: %i = alloca i32, align 4
# | next:1525 !~~~~~~~~~~~~~~~~~~~~~~~ error: match on wrong line
# | 1338: %j = alloca i32, align 4
# | 1339: %.floor_0.iv.k = alloca i32, align 4
# | 1340: %.tile.cnt.0.iv.k = alloca i32, align 4
# | 1341: %.omp.lb = alloca i64, align 8
# | 1342: %.omp.ub = alloca i64, align 8
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>Clang.OpenMP/irbuilder_unroll_partial_factor_for.c</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
/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 -fopenmp-enable-irbuilder -verify -fopenmp -x c -triple x86_64-unknown-unknown -emit-llvm /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/irbuilder_unroll_partial_factor_for.c -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --allow-unused-prefixes /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/irbuilder_unroll_partial_factor_for.c
# 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 -fopenmp-enable-irbuilder -verify -fopenmp -x c -triple x86_64-unknown-unknown -emit-llvm /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/irbuilder_unroll_partial_factor_for.c -o -
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --allow-unused-prefixes /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/irbuilder_unroll_partial_factor_for.c
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/irbuilder_unroll_partial_factor_for.c:82:16: error: CHECK-NEXT: expected string not found in input
# | // CHECK-NEXT: [[TMP14:%.*]] = icmp eq i32 [[TMP13]], [[TMP4]]
# | ^
# | <stdin>:77:34: note: scanning from here
# | %13 = add i32 %omp_floor0.iv, %9
# | ^
# | <stdin>:77:34: note: with "TMP13" equal to "%13"
# | %13 = add i32 %omp_floor0.iv, %9
# | ^
# | <stdin>:77:34: note: with "TMP4" equal to "%4"
# | %13 = add i32 %omp_floor0.iv, %9
# | ^
# | <stdin>:88:10: note: possible intended match here
# | %omp_tile0.cmp = icmp ult i32 %omp_tile0.iv, 13
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/irbuilder_unroll_partial_factor_for.c
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 72: omp_floor0.cond: ; preds = %omp_floor0.header
# | 73: %omp_floor0.cmp = icmp ult i32 %omp_floor0.iv, %12
# | 74: br i1 %omp_floor0.cmp, label %omp_floor0.body, label %omp_floor0.exit
# | 75:
# | 76: omp_floor0.body: ; preds = %omp_floor0.cond
# | 77: %13 = add i32 %omp_floor0.iv, %9
# | next:82'0 X error: no match found
# | next:82'1 with "TMP13" equal to "%13"
# | next:82'2 with "TMP4" equal to "%4"
# | 78: br label %omp_tile0.preheader
# | next:82'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 79:
# | next:82'0 ~
# | 80: omp_tile0.preheader: ; preds = %omp_floor0.body
# | next:82'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 81: br label %omp_tile0.header
# | next:82'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 82:
# | next:82'0 ~
# | 83: omp_tile0.header: ; preds = %omp_tile0.inc, %omp_tile0.preheader
# | next:82'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 84: %omp_tile0.iv = phi i32 [ 0, %omp_tile0.preheader ], [ %omp_tile0.next, %omp_tile0.inc ]
# | next:82'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 85: br label %omp_tile0.cond
# | next:82'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 86:
# | next:82'0 ~
# | 87: omp_tile0.cond: ; preds = %omp_tile0.header
# | next:82'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 88: %omp_tile0.cmp = icmp ult i32 %omp_tile0.iv, 13
# | next:82'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:82'3 ? possible intended match
# | 89: br i1 %omp_tile0.cmp, label %omp_tile0.body, label %omp_tile0.exit
# | next:82'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 90:
# | next:82'0 ~
# | 91: omp_tile0.body: ; preds = %omp_tile0.cond
# | next:82'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 92: %14 = mul nuw i32 13, %13
# | next:82'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 93: %15 = add nuw i32 %14, %omp_tile0.iv
# | next:82'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>Clang.OpenMP/irbuilder_unroll_partial_heuristic_constant_for.c</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
/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 -fopenmp-enable-irbuilder -verify -fopenmp -x c -triple x86_64-unknown-unknown -emit-llvm /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/irbuilder_unroll_partial_heuristic_constant_for.c -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --allow-unused-prefixes /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/irbuilder_unroll_partial_heuristic_constant_for.c
# 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 -fopenmp-enable-irbuilder -verify -fopenmp -x c -triple x86_64-unknown-unknown -emit-llvm /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/irbuilder_unroll_partial_heuristic_constant_for.c -o -
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --allow-unused-prefixes /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/irbuilder_unroll_partial_heuristic_constant_for.c
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/irbuilder_unroll_partial_heuristic_constant_for.c:88:16: error: CHECK-NEXT: expected string not found in input
# | // CHECK-NEXT: [[TMP13:%.*]] = icmp eq i32 [[TMP12]], [[TMP3]]
# | ^
# | <stdin>:77:34: note: scanning from here
# | %12 = add i32 %omp_floor0.iv, %8
# | ^
# | <stdin>:77:34: note: with "TMP12" equal to "%12"
# | %12 = add i32 %omp_floor0.iv, %8
# | ^
# | <stdin>:77:34: note: with "TMP3" equal to "%3"
# | %12 = add i32 %omp_floor0.iv, %8
# | ^
# | <stdin>:88:10: note: possible intended match here
# | %omp_tile0.cmp = icmp ult i32 %omp_tile0.iv, 4
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/irbuilder_unroll_partial_heuristic_constant_for.c
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 72: omp_floor0.cond: ; preds = %omp_floor0.header
# | 73: %omp_floor0.cmp = icmp ult i32 %omp_floor0.iv, %11
# | 74: br i1 %omp_floor0.cmp, label %omp_floor0.body, label %omp_floor0.exit
# | 75:
# | 76: omp_floor0.body: ; preds = %omp_floor0.cond
# | 77: %12 = add i32 %omp_floor0.iv, %8
# | next:88'0 X error: no match found
# | next:88'1 with "TMP12" equal to "%12"
# | next:88'2 with "TMP3" equal to "%3"
# | 78: br label %omp_tile0.preheader
# | next:88'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 79:
# | next:88'0 ~
# | 80: omp_tile0.preheader: ; preds = %omp_floor0.body
# | next:88'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 81: br label %omp_tile0.header
# | next:88'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 82:
# | next:88'0 ~
# | 83: omp_tile0.header: ; preds = %omp_tile0.inc, %omp_tile0.preheader
# | next:88'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 84: %omp_tile0.iv = phi i32 [ 0, %omp_tile0.preheader ], [ %omp_tile0.next, %omp_tile0.inc ]
# | next:88'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 85: br label %omp_tile0.cond
# | next:88'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 86:
# | next:88'0 ~
# | 87: omp_tile0.cond: ; preds = %omp_tile0.header
# | next:88'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 88: %omp_tile0.cmp = icmp ult i32 %omp_tile0.iv, 4
# | next:88'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:88'3 ? possible intended match
# | 89: br i1 %omp_tile0.cmp, label %omp_tile0.body, label %omp_tile0.exit
# | next:88'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 90:
# | next:88'0 ~
# | 91: omp_tile0.body: ; preds = %omp_tile0.cond
# | next:88'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 92: %13 = mul nuw i32 4, %12
# | next:88'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 93: %14 = add nuw i32 %13, %omp_tile0.iv
# | next:88'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>Clang.OpenMP/irbuilder_unroll_partial_heuristic_runtime_for.c</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
/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 -fopenmp-enable-irbuilder -verify -fopenmp -x c -triple x86_64-unknown-unknown -emit-llvm /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/irbuilder_unroll_partial_heuristic_runtime_for.c -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --allow-unused-prefixes /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/irbuilder_unroll_partial_heuristic_runtime_for.c
# 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 -fopenmp-enable-irbuilder -verify -fopenmp -x c -triple x86_64-unknown-unknown -emit-llvm /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/irbuilder_unroll_partial_heuristic_runtime_for.c -o -
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --allow-unused-prefixes /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/irbuilder_unroll_partial_heuristic_runtime_for.c
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/irbuilder_unroll_partial_heuristic_runtime_for.c:90:16: error: CHECK-NEXT: expected string not found in input
# | // CHECK-NEXT: [[TMP14:%.*]] = icmp eq i32 [[TMP13]], [[TMP4]]
# | ^
# | <stdin>:81:34: note: scanning from here
# | %13 = add i32 %omp_floor0.iv, %9
# | ^
# | <stdin>:81:34: note: with "TMP13" equal to "%13"
# | %13 = add i32 %omp_floor0.iv, %9
# | ^
# | <stdin>:81:34: note: with "TMP4" equal to "%4"
# | %13 = add i32 %omp_floor0.iv, %9
# | ^
# | <stdin>:92:10: note: possible intended match here
# | %omp_tile0.cmp = icmp ult i32 %omp_tile0.iv, 4
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/irbuilder_unroll_partial_heuristic_runtime_for.c
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 76: omp_floor0.cond: ; preds = %omp_floor0.header
# | 77: %omp_floor0.cmp = icmp ult i32 %omp_floor0.iv, %12
# | 78: br i1 %omp_floor0.cmp, label %omp_floor0.body, label %omp_floor0.exit
# | 79:
# | 80: omp_floor0.body: ; preds = %omp_floor0.cond
# | 81: %13 = add i32 %omp_floor0.iv, %9
# | next:90'0 X error: no match found
# | next:90'1 with "TMP13" equal to "%13"
# | next:90'2 with "TMP4" equal to "%4"
# | 82: br label %omp_tile0.preheader
# | next:90'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 83:
# | next:90'0 ~
# | 84: omp_tile0.preheader: ; preds = %omp_floor0.body
# | next:90'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 85: br label %omp_tile0.header
# | next:90'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 86:
# | next:90'0 ~
# | 87: omp_tile0.header: ; preds = %omp_tile0.inc, %omp_tile0.preheader
# | next:90'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 88: %omp_tile0.iv = phi i32 [ 0, %omp_tile0.preheader ], [ %omp_tile0.next, %omp_tile0.inc ]
# | next:90'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 89: br label %omp_tile0.cond
# | next:90'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 90:
# | next:90'0 ~
# | 91: omp_tile0.cond: ; preds = %omp_tile0.header
# | next:90'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 92: %omp_tile0.cmp = icmp ult i32 %omp_tile0.iv, 4
# | next:90'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:90'3 ? possible intended match
# | 93: br i1 %omp_tile0.cmp, label %omp_tile0.body, label %omp_tile0.exit
# | next:90'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 94:
# | next:90'0 ~
# | 95: omp_tile0.body: ; preds = %omp_tile0.cond
# | next:90'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 96: %14 = mul nuw i32 4, %13
# | next:90'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 97: %15 = add nuw i32 %14, %omp_tile0.iv
# | next:90'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>Clang.OpenMP/irbuilder_unroll_unroll_partial_factor.c</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
/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 -fopenmp-enable-irbuilder -verify -fopenmp -x c -triple x86_64-unknown-unknown -emit-llvm /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/irbuilder_unroll_unroll_partial_factor.c -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --allow-unused-prefixes /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/irbuilder_unroll_unroll_partial_factor.c
# 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 -fopenmp-enable-irbuilder -verify -fopenmp -x c -triple x86_64-unknown-unknown -emit-llvm /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/irbuilder_unroll_unroll_partial_factor.c -o -
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --allow-unused-prefixes /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/irbuilder_unroll_unroll_partial_factor.c
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/irbuilder_unroll_unroll_partial_factor.c:78:16: error: CHECK-NEXT: expected string not found in input
# | // CHECK-NEXT: [[TMP13:%.*]] = icmp eq i32 [[TMP12]], [[TMP3]]
# | ^
# | <stdin>:73:34: note: scanning from here
# | %12 = add i32 %omp_floor0.iv, %8
# | ^
# | <stdin>:73:34: note: with "TMP12" equal to "%12"
# | %12 = add i32 %omp_floor0.iv, %8
# | ^
# | <stdin>:73:34: note: with "TMP3" equal to "%3"
# | %12 = add i32 %omp_floor0.iv, %8
# | ^
# | <stdin>:84:10: note: possible intended match here
# | %omp_tile0.cmp = icmp ult i32 %omp_tile0.iv, 2
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/irbuilder_unroll_unroll_partial_factor.c
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 68: omp_floor0.cond: ; preds = %omp_floor0.header
# | 69: %omp_floor0.cmp = icmp ult i32 %omp_floor0.iv, %11
# | 70: br i1 %omp_floor0.cmp, label %omp_floor0.body, label %omp_floor0.exit
# | 71:
# | 72: omp_floor0.body: ; preds = %omp_floor0.cond
# | 73: %12 = add i32 %omp_floor0.iv, %8
# | next:78'0 X error: no match found
# | next:78'1 with "TMP12" equal to "%12"
# | next:78'2 with "TMP3" equal to "%3"
# | 74: br label %omp_tile0.preheader
# | next:78'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 75:
# | next:78'0 ~
# | 76: omp_tile0.preheader: ; preds = %omp_floor0.body
# | next:78'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 77: br label %omp_tile0.header
# | next:78'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 78:
# | next:78'0 ~
# | 79: omp_tile0.header: ; preds = %omp_tile0.inc, %omp_tile0.preheader
# | next:78'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 80: %omp_tile0.iv = phi i32 [ 0, %omp_tile0.preheader ], [ %omp_tile0.next, %omp_tile0.inc ]
# | next:78'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 81: br label %omp_tile0.cond
# | next:78'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 82:
# | next:78'0 ~
# | 83: omp_tile0.cond: ; preds = %omp_tile0.header
# | next:78'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 84: %omp_tile0.cmp = icmp ult i32 %omp_tile0.iv, 2
# | next:78'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:78'3 ? possible intended match
# | 85: br i1 %omp_tile0.cmp, label %omp_tile0.body, label %omp_tile0.exit
# | next:78'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 86:
# | next:78'0 ~
# | 87: omp_tile0.body: ; preds = %omp_tile0.cond
# | next:78'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 88: %13 = mul nuw i32 2, %12
# | next:78'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 89: %14 = add nuw i32 %13, %omp_tile0.iv
# | next:78'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>Clang.OpenMP/irbuilder_unroll_unroll_partial_heuristic.c</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
/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 -fopenmp-enable-irbuilder -verify -fopenmp -x c -triple x86_64-unknown-unknown -emit-llvm /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/irbuilder_unroll_unroll_partial_heuristic.c -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --allow-unused-prefixes /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/irbuilder_unroll_unroll_partial_heuristic.c
# 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 -fopenmp-enable-irbuilder -verify -fopenmp -x c -triple x86_64-unknown-unknown -emit-llvm /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/irbuilder_unroll_unroll_partial_heuristic.c -o -
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --allow-unused-prefixes /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/irbuilder_unroll_unroll_partial_heuristic.c
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/irbuilder_unroll_unroll_partial_heuristic.c:62:16: error: CHECK-NEXT: expected string not found in input
# | // CHECK-NEXT: [[TMP7:%.*]] = icmp eq i32 [[OMP_FLOOR0_IV]], [[TMP3]]
# | ^
# | <stdin>:53:17: note: scanning from here
# | omp_floor0.body: ; preds = %omp_floor0.cond
# | ^
# | <stdin>:53:17: note: with "OMP_FLOOR0_IV" equal to "%omp_floor0.iv"
# | omp_floor0.body: ; preds = %omp_floor0.cond
# | ^
# | <stdin>:53:17: note: with "TMP3" equal to "%3"
# | omp_floor0.body: ; preds = %omp_floor0.cond
# | ^
# | <stdin>:64:10: note: possible intended match here
# | %omp_tile0.cmp = icmp ult i32 %omp_tile0.iv, 8
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/irbuilder_unroll_unroll_partial_heuristic.c
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 48:
# | 49: omp_floor0.cond: ; preds = %omp_floor0.header
# | 50: %omp_floor0.cmp = icmp ult i32 %omp_floor0.iv, %omp_floor0.tripcount
# | 51: br i1 %omp_floor0.cmp, label %omp_floor0.body, label %omp_floor0.exit
# | 52:
# | 53: omp_floor0.body: ; preds = %omp_floor0.cond
# | next:62'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | next:62'1 with "OMP_FLOOR0_IV" equal to "%omp_floor0.iv"
# | next:62'2 with "TMP3" equal to "%3"
# | 54: br label %omp_tile0.preheader
# | next:62'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 55:
# | next:62'0 ~
# | 56: omp_tile0.preheader: ; preds = %omp_floor0.body
# | next:62'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 57: br label %omp_tile0.header
# | next:62'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 58:
# | next:62'0 ~
# | 59: omp_tile0.header: ; preds = %omp_tile0.inc, %omp_tile0.preheader
# | next:62'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 60: %omp_tile0.iv = phi i32 [ 0, %omp_tile0.preheader ], [ %omp_tile0.next, %omp_tile0.inc ]
# | next:62'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 61: br label %omp_tile0.cond
# | next:62'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 62:
# | next:62'0 ~
# | 63: omp_tile0.cond: ; preds = %omp_tile0.header
# | next:62'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 64: %omp_tile0.cmp = icmp ult i32 %omp_tile0.iv, 8
# | next:62'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:62'3 ? possible intended match
# | 65: br i1 %omp_tile0.cmp, label %omp_tile0.body, label %omp_tile0.exit
# | next:62'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 66:
# | next:62'0 ~
# | 67: omp_tile0.body: ; preds = %omp_tile0.cond
# | next:62'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 68: %7 = mul nuw i32 8, %omp_floor0.iv
# | next:62'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 69: %8 = add nuw i32 %7, %omp_tile0.iv
# | next:62'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>Clang.OpenMP/tile_codegen.cpp</summary>
```
Exit Code: 2
Command Output (stdout):
--
# RUN: at line 3
/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 -verify -triple x86_64-pc-linux-gnu -fclang-abi-compat=latest -std=c++20 -fopenmp -emit-llvm /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/tile_codegen.cpp -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --allow-unused-prefixes /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/tile_codegen.cpp --check-prefix=CHECK1
# 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 -verify -triple x86_64-pc-linux-gnu -fclang-abi-compat=latest -std=c++20 -fopenmp -emit-llvm /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/tile_codegen.cpp -o -
# .---command stderr------------
# | error: 'expected-error' diagnostics seen but not expected:
# | (frontend): expected 3 for loops after '#pragma omp for', but found only 2
# | error: 'expected-note' diagnostics seen but not expected:
# | File /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/tile_codegen.cpp Line 59: as specified in 'collapse' clause
# | 2 errors generated.
# `-----------------------------
# error: command failed with exit status: 1
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --allow-unused-prefixes /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/tile_codegen.cpp --check-prefix=CHECK1
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --allow-unused-prefixes /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/tile_codegen.cpp --check-prefix=CHECK1
# `-----------------------------
# error: command failed with exit status: 2
--
```
</details>
<details>
<summary>Clang.OpenMP/tile_codegen_for_dependent.cpp</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
/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 -verify -triple x86_64-pc-linux-gnu -fopenmp -emit-llvm /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/tile_codegen_for_dependent.cpp -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --allow-unused-prefixes /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/tile_codegen_for_dependent.cpp --check-prefix=IR
# 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 -verify -triple x86_64-pc-linux-gnu -fopenmp -emit-llvm /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/tile_codegen_for_dependent.cpp -o -
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --allow-unused-prefixes /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/tile_codegen_for_dependent.cpp --check-prefix=IR
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/tile_codegen_for_dependent.cpp:41:13: error: IR-NEXT: is not on the line after the previous match
# | // IR-NEXT: %[[TMP0:.+]] = call i32 @__kmpc_global_thread_num(ptr @[[GLOB2:.+]])
# | ^
# | <stdin>:42:2: note: 'next' match was here
# | %0 = call i32 @__kmpc_global_thread_num(ptr @2)
# | ^
# | <stdin>:40:40: note: previous match ended here
# | %.floor_0.iv.i11 = alloca i32, align 4
# | ^
# | <stdin>:41:1: note: non-matching line after previous match is here
# | %.tile.cnt.0.iv.i = alloca i32, align 4
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/tile_codegen_for_dependent.cpp
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 37: %.omp.ub = alloca i32, align 4
# | 38: %.omp.stride = alloca i32, align 4
# | 39: %.omp.is_last = alloca i32, align 4
# | 40: %.floor_0.iv.i11 = alloca i32, align 4
# | 41: %.tile.cnt.0.iv.i = alloca i32, align 4
# | 42: %0 = call i32 @__kmpc_global_thread_num(ptr @2)
# | next:41 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: match on wrong line
# | 43: store i32 %start, ptr %start.addr, align 4
# | 44: store i32 %end, ptr %end.addr, align 4
# | 45: store i32 %step, ptr %step.addr, align 4
# | 46: %1 = load i32, ptr %start.addr, align 4
# | 47: store i32 %1, ptr %i, align 4
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>Clang.OpenMP/tile_codegen_tile_for.cpp</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
/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 -verify -triple x86_64-pc-linux-gnu -fopenmp -emit-llvm /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/tile_codegen_tile_for.cpp -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --allow-unused-prefixes /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/tile_codegen_tile_for.cpp --check-prefix=IR
# 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 -verify -triple x86_64-pc-linux-gnu -fopenmp -emit-llvm /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/tile_codegen_tile_for.cpp -o -
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --allow-unused-prefixes /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/tile_codegen_tile_for.cpp --check-prefix=IR
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/tile_codegen_tile_for.cpp:44:13: error: IR-NEXT: is not on the line after the previous match
# | // IR-NEXT: %[[TMP0:.+]] = call i32 @__kmpc_global_thread_num(ptr @[[GLOB2:.+]])
# | ^
# | <stdin>:47:2: note: 'next' match was here
# | %0 = call i32 @__kmpc_global_thread_num(ptr @2)
# | ^
# | <stdin>:44:52: note: previous match ended here
# | %.floor_0.iv..floor_0.iv.i17 = alloca i32, align 4
# | ^
# | <stdin>:45:1: note: non-matching line after previous match is here
# | %.tile.cnt.0.iv..floor_0.iv.i = alloca i32, align 4
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/tile_codegen_tile_for.cpp
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 42: %.omp.stride = alloca i32, align 4
# | 43: %.omp.is_last = alloca i32, align 4
# | 44: %.floor_0.iv..floor_0.iv.i17 = alloca i32, align 4
# | 45: %.tile.cnt.0.iv..floor_0.iv.i = alloca i32, align 4
# | 46: %.tile.cnt.0.iv.i = alloca i32, align 4
# | 47: %0 = call i32 @__kmpc_global_thread_num(ptr @2)
# | next:44 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: match on wrong line
# | 48: store i32 %start, ptr %start.addr, align 4
# | 49: store i32 %end, ptr %end.addr, align 4
# | 50: store i32 %step, ptr %step.addr, align 4
# | 51: %1 = load i32, ptr %start.addr, align 4
# | 52: store i32 %1, ptr %i, align 4
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>Clang.OpenMP/tile_messages.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-pc-linux-gnu -std=c++17 -fopenmp -fsyntax-only -Wuninitialized -verify /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/tile_messages.cpp
# 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-pc-linux-gnu -std=c++17 -fopenmp -fsyntax-only -Wuninitialized -verify /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/tile_messages.cpp
# .---command stderr------------
# | error: 'expected-error' diagnostics expected but not seen:
# | File /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/tile_messages.cpp Line 109 (directive at /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/tile_messages.cpp:104): expected 3 for loops after '#pragma omp for', but found only 2
# | error: 'expected-error' diagnostics seen but not expected:
# | (frontend): expected 3 for loops after '#pragma omp for', but found only 2
# | 2 errors generated.
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>Clang.OpenMP/unroll_codegen_tile_for.cpp</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
/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 -verify -triple x86_64-pc-linux-gnu -fopenmp -emit-llvm /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/unroll_codegen_tile_for.cpp -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --allow-unused-prefixes /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/unroll_codegen_tile_for.cpp --check-prefix=IR
# 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 -verify -triple x86_64-pc-linux-gnu -fopenmp -emit-llvm /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/unroll_codegen_tile_for.cpp -o -
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --allow-unused-prefixes /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/unroll_codegen_tile_for.cpp --check-prefix=IR
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/unroll_codegen_tile_for.cpp:41:13: error: IR-NEXT: is not on the line after the previous match
# | // IR-NEXT: %[[TMP0:.+]] = call i32 @__kmpc_global_thread_num(ptr @2)
# | ^
# | <stdin>:46:2: note: 'next' match was here
# | %0 = call i32 @__kmpc_global_thread_num(ptr @2)
# | ^
# | <stdin>:44:54: note: previous match ended here
# | %.tile.cnt.0.iv..unrolled.iv.i = alloca i32, align 4
# | ^
# | <stdin>:45:1: note: non-matching line after previous match is here
# | %.unroll_inner.iv.i = alloca i32, align 4
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/unroll_codegen_tile_for.cpp
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 41: %.omp.stride = alloca i32, align 4
# | 42: %.omp.is_last = alloca i32, align 4
# | 43: %.floor_0.iv..unrolled.iv.i17 = alloca i32, align 4
# | 44: %.tile.cnt.0.iv..unrolled.iv.i = alloca i32, align 4
# | 45: %.unroll_inner.iv.i = alloca i32, align 4
# | 46: %0 = call i32 @__kmpc_global_thread_num(ptr @2)
# | next:41 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: match on wrong line
# | 47: store i32 %start, ptr %start.addr, align 4
# | 48: store i32 %end, ptr %end.addr, align 4
# | 49: store i32 %step, ptr %step.addr, align 4
# | 50: %1 = load i32, ptr %start.addr, align 4
# | 51: store i32 %1, ptr %i, align 4
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# 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/191114
More information about the cfe-commits
mailing list