[llvm-branch-commits] [llvm] [LoopInterchange] Reject if inner loop IV has outer-variant step (PR #202751)

via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Thu Jun 11 04:55:35 PDT 2026


github-actions[bot] wrote:

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

* 175382 tests passed
* 3467 tests skipped
* 44 tests failed

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

### LLVM
<details>
<summary>LLVM.Transforms/LoopInterchange/call-instructions.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/call-instructions.ll -passes=loop-interchange -S -verify-dom-info -verify-loop-info 2>&1 | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/call-instructions.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -S -verify-dom-info -verify-loop-info
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/call-instructions.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/call-instructions.ll:32:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR1_HEADER:.*]]
# |               ^
# | <stdin>:18:2: note: 'next' match was here
# |  br label %for2
# |  ^
# | <stdin>:16:13: note: previous match ended here
# | for1.header: ; preds = %for1.inc10, %entry
# |             ^
# | <stdin>:17:1: note: non-matching line after previous match is here
# |  %indvars.iv23 = phi i64 [ 0, %entry ], [ %indvars.iv.next24, %for1.inc10 ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/call-instructions.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |          .
# |          .
# |          .
# |         13: entry: 
# |         14:  br label %for1.header 
# |         15:  
# |         16: for1.header: ; preds = %for1.inc10, %entry 
# |         17:  %indvars.iv23 = phi i64 [ 0, %entry ], [ %indvars.iv.next24, %for1.inc10 ] 
# |         18:  br label %for2 
# | next:32      !~~~~~~~~~~~~~  error: match on wrong line
# |         19:  
# |         20: for2: ; preds = %for2, %for1.header 
# |         21:  %indvars.iv = phi i64 [ %indvars.iv.next, %for2 ], [ 1, %for1.header ] 
# |         22:  call void @bar(i64 %indvars.iv23) 
# |         23:  %arrayidx5 = getelementptr inbounds [100 x [100 x i32]], ptr @A, i64 0, i64 %indvars.iv, i64 %indvars.iv23 
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/debuginfo.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/debuginfo.ll -passes=loop-interchange -cache-line-size=64 -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/debuginfo.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -cache-line-size=64 -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/debuginfo.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/debuginfo.ll:18:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR1_HEADER:.*]]
# |               ^
# | <stdin>:14:2: note: 'next' match was here
# |  br label %for2
# |  ^
# | <stdin>:11:13: note: previous match ended here
# | for1.header: ; preds = %for1.inc10, %entry
# |             ^
# | <stdin>:12:1: note: non-matching line after previous match is here
# |  %j23 = phi i64 [ 0, %entry ], [ %j.next24, %for1.inc10 ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/debuginfo.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |          .
# |          .
# |          .
# |          9:  br label %for1.header 
# |         10:  
# |         11: for1.header: ; preds = %for1.inc10, %entry 
# |         12:  %j23 = phi i64 [ 0, %entry ], [ %j.next24, %for1.inc10 ] 
# |         13:  #dbg_value(i64 %j, !13, !DIExpression(), !14) 
# |         14:  br label %for2 
# | next:18      !~~~~~~~~~~~~~  error: match on wrong line
# |         15:  
# |         16: for2: ; preds = %for2, %for1.header 
# |         17:  %j = phi i64 [ %j.next, %for2 ], [ 0, %for1.header ] 
# |         18:  #dbg_value(i64 %j, !13, !DIExpression(), !14) 
# |         19:  %arrayidx5 = getelementptr inbounds [100 x [100 x i64]], ptr @A, i64 0, i64 %j, i64 %j23 
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/delay-cachecost-calculation.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 3
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -debug -disable-output -loop-interchange-profitabilities=cache /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/delay-cachecost-calculation.ll 2>&1 | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/delay-cachecost-calculation.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -debug -disable-output -loop-interchange-profitabilities=cache /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/delay-cachecost-calculation.ll
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/delay-cachecost-calculation.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/delay-cachecost-calculation.ll:14:10: error: CHECK: expected string not found in input
# | ; CHECK: Loops 'for.i.header' and 'for.j' are legal to interchange
# |          ^
# | <stdin>:1:1: note: scanning from here
# | Args: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -debug -disable-output -loop-interchange-profitabilities=cache /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/delay-cachecost-calculation.ll 
# | ^
# | <stdin>:59:1: note: possible intended match here
# | Loop 'for.i.header' and 'for.j' are perfectly nested.
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/delay-cachecost-calculation.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             1: Args: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -debug -disable-output -loop-interchange-profitabilities=cache /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/delay-cachecost-calculation.ll  
# | check:14'0     X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# |             2: Get maximum perfect depth of loop nest rooted by loop 'for.i.header' 
# | check:14'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             3: Checking whether loop 'for.i.header' and 'for.j' are perfectly nested. 
# | check:14'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             4: Outer loop latch compare instruction: %i.exit = icmp eq i32 %i.next, 16 
# | check:14'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             5: Instruction: %i = phi i32 [ 0, %entry ], [ %i.next, %for.i.latch ] 
# | check:14'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             6: in basic block: 
# | check:14'0     ~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |            54: for.i.latch: ; preds = %for.j 
# | check:14'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            55:  %i.next = add i32 %i, 1 
# | check:14'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
# |            56:  %i.exit = icmp eq i32 %i.next, 16 
# | check:14'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            57:  br i1 %i.exit, label %exit, label %for.i.header 
# | check:14'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            58: is unsafe. 
# | check:14'0     ~~~~~~~~~~~
# |            59: Loop 'for.i.header' and 'for.j' are perfectly nested. 
# | check:14'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:14'1     ?                                                      possible intended match
# |            60: Processing LoopList of size = 2 containing the following loops: 
# | check:14'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            61:  - Loop at depth 1 containing: %for.i.header<header>,%for.j,%for.i.latch<latch><exiting> 
# | check:14'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            62:  Loop at depth 2 containing: %for.j<header><latch><exiting> 
# | check:14'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            63:  - Loop at depth 2 containing: %for.j<header><latch><exiting> 
# | check:14'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            64: Found 2 Loads and Stores to analyze 
# | check:14'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/force-interchange.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/force-interchange.ll -passes=loop-interchange -loop-interchange-profitabilities=ignore -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/force-interchange.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -loop-interchange-profitabilities=ignore -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/force-interchange.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/force-interchange.ll:17:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[OUTER_HEADER:.*]]
# |               ^
# | <stdin>:12:2: note: 'next' match was here
# |  br label %inner.body
# |  ^
# | <stdin>:10:14: note: previous match ended here
# | outer.header: ; preds = %inner.header, %entry
# |              ^
# | <stdin>:11:1: note: non-matching line after previous match is here
# |  %i = phi i64 [ 0, %entry ], [ %i.next, %inner.header ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/force-interchange.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |          .
# |          .
# |          .
# |          7: entry: 
# |          8:  br label %outer.header 
# |          9:  
# |         10: outer.header: ; preds = %inner.header, %entry 
# |         11:  %i = phi i64 [ 0, %entry ], [ %i.next, %inner.header ] 
# |         12:  br label %inner.body 
# | next:17      !~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |         13:  
# |         14: inner.header: ; preds = %inner.body 
# |         15:  %i.next = add nuw nsw i64 %i, 1 
# |         16:  %exitcond20.not = icmp eq i64 %i.next, 1024 
# |         17:  br i1 %exitcond20.not, label %exit, label %outer.header 
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/fp-reductions.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/fp-reductions.ll -passes=loop-interchange -cache-line-size=64 -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/fp-reductions.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -cache-line-size=64 -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/fp-reductions.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/fp-reductions.ll:75:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_I_HEADER:.*]]
# |               ^
# | <stdin>:40:2: note: 'next' match was here
# |  br label %for.j
# |  ^
# | <stdin>:37:14: note: previous match ended here
# | for.i.header: ; preds = %for.i.latch, %entry
# |              ^
# | <stdin>:38:1: note: non-matching line after previous match is here
# |  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ]
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/fp-reductions.ll:144:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_I_HEADER:.*]]
# |               ^
# | <stdin>:69:2: note: 'next' match was here
# |  br label %for.j
# |  ^
# | <stdin>:66:14: note: previous match ended here
# | for.i.header: ; preds = %for.i.latch, %entry
# |              ^
# | <stdin>:67:1: note: non-matching line after previous match is here
# |  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ]
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/fp-reductions.ll:273:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_I_HEADER:.*]]
# |               ^
# | <stdin>:127:2: note: 'next' match was here
# |  br label %for.j
# |  ^
# | <stdin>:124:14: note: previous match ended here
# | for.i.header: ; preds = %for.i.latch, %entry
# |              ^
# | <stdin>:125:1: note: non-matching line after previous match is here
# |  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ]
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/fp-reductions.ll:406:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_I_HEADER:.*]]
# |               ^
# | <stdin>:187:2: note: 'next' match was here
# |  br label %for.j
# |  ^
# | <stdin>:184:14: note: previous match ended here
# | for.i.header: ; preds = %for.i.latch, %entry
# |              ^
# | <stdin>:185:1: note: non-matching line after previous match is here
# |  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ]
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/fp-reductions.ll:482:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_I_HEADER:.*]]
# |               ^
# | <stdin>:218:2: note: 'next' match was here
# |  br label %for.j
# |  ^
# | <stdin>:215:14: note: previous match ended here
# | for.i.header: ; preds = %for.i.latch, %entry
# |              ^
# | <stdin>:216:1: note: non-matching line after previous match is here
# |  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ]
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/fp-reductions.ll:551:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_I_HEADER:.*]]
# |               ^
# | <stdin>:248:2: note: 'next' match was here
# |  br label %for.j
# |  ^
# | <stdin>:245:14: note: previous match ended here
# | for.i.header: ; preds = %for.i.latch, %entry
# |              ^
# | <stdin>:246:1: note: non-matching line after previous match is here
# |  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ]
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/fp-reductions.ll:623:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_I_HEADER:.*]]
# |               ^
# | <stdin>:277:2: note: 'next' match was here
# |  br label %for.j
# |  ^
# | <stdin>:274:14: note: previous match ended here
# | for.i.header: ; preds = %for.i.latch, %entry
# |              ^
# | <stdin>:275:1: note: non-matching line after previous match is here
# |  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ]
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/fp-reductions.ll:692:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_I_HEADER:.*]]
# |               ^
# | <stdin>:307:2: note: 'next' match was here
# |  br label %for.j
# |  ^
# | <stdin>:304:14: note: previous match ended here
# | for.i.header: ; preds = %for.i.latch, %entry
# |              ^
# | <stdin>:305:1: note: non-matching line after previous match is here
# |  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/fp-reductions.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |           .
# |           .
# |           .
# |          35:  br label %for.i.header 
# |          36:  
# |          37: for.i.header: ; preds = %for.i.latch, %entry 
# |          38:  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ] 
# |          39:  %sum.i = phi float [ 0.000000e+00, %entry ], [ %sum.i.lcssa, %for.i.latch ] 
# |          40:  br label %for.j 
# | next:75       !~~~~~~~~~~~~~~  error: match on wrong line
# |          41:  
# |          42: for.j: ; preds = %for.j, %for.i.header 
# |          43:  %j = phi i32 [ 0, %for.i.header ], [ %j.inc, %for.j ] 
# |          44:  %sum.j = phi float [ %sum.i, %for.i.header ], [ %sum.j.next, %for.j ] 
# |          45:  %idx = getelementptr inbounds [2 x [2 x i32]], ptr %A, i32 0, i32 %j, i32 %i 
# |           .
# |           .
# |           .
# |          64:  br label %for.i.header 
# |          65:  
# |          66: for.i.header: ; preds = %for.i.latch, %entry 
# |          67:  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ] 
# |          68:  %sum.i = phi float [ 0.000000e+00, %entry ], [ %sum.i.lcssa, %for.i.latch ] 
# |          69:  br label %for.j 
# | next:144      !~~~~~~~~~~~~~~  error: match on wrong line
# |          70:  
# |          71: for.j: ; preds = %for.j, %for.i.header 
# |          72:  %j = phi i32 [ 0, %for.i.header ], [ %j.inc, %for.j ] 
# |          73:  %sum.j = phi float [ %sum.i, %for.i.header ], [ %sum.j.next, %for.j ] 
# |          74:  %idx = getelementptr inbounds [2 x [2 x i32]], ptr %A, i32 0, i32 %j, i32 %i 
# |           .
# |           .
# |           .
# |         122:  br label %for.i.header 
# |         123:  
# |         124: for.i.header: ; preds = %for.i.latch, %entry 
# |         125:  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ] 
# |         126:  %prod.i = phi float [ 1.000000e+00, %entry ], [ %prod.i.lcssa, %for.i.latch ] 
# |         127:  br label %for.j 
# | next:273      !~~~~~~~~~~~~~~  error: match on wrong line
# |         128:  
# |         129: for.j: ; preds = %for.j, %for.i.header 
# |         130:  %j = phi i32 [ 0, %for.i.header ], [ %j.inc, %for.j ] 
# |         131:  %prod.j = phi float [ %prod.i, %for.i.header ], [ %prod.j.next, %for.j ] 
# |         132:  %idx = getelementptr inbounds [2 x [2 x i32]], ptr %A, i32 0, i32 %j, i32 %i 
# |           .
# |           .
# |           .
# |         182:  br label %for.i.header 
# |         183:  
# |         184: for.i.header: ; preds = %for.i.latch, %entry 
# |         185:  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ] 
# |         186:  %fmuladd.i = phi float [ 1.000000e+00, %entry ], [ %fmuladd.i.lcssa, %for.i.latch ] 
# |         187:  br label %for.j 
# | next:406      !~~~~~~~~~~~~~~  error: match on wrong line
# |         188:  
# |         189: for.j: ; preds = %for.j, %for.i.header 
# |         190:  %j = phi i32 [ 0, %for.i.header ], [ %j.inc, %for.j ] 
# |         191:  %fmuladd.j = phi float [ %fmuladd.i, %for.i.header ], [ %fmuladd.j.next, %for.j ] 
# |         192:  %idx.a = getelementptr inbounds [2 x [2 x i32]], ptr %A, i32 0, i32 %j, i32 %i 
# |           .
# |           .
# |           .
# |         213:  br label %for.i.header 
# |         214:  
# |         215: for.i.header: ; preds = %for.i.latch, %entry 
# |         216:  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ] 
# |         217:  %fmin.i = phi float [ %init, %entry ], [ %fmin.i.lcssa, %for.i.latch ] 
# |         218:  br label %for.j 
# | next:482      !~~~~~~~~~~~~~~  error: match on wrong line
# |         219:  
# |         220: for.j: ; preds = %for.j, %for.i.header 
# |         221:  %j = phi i32 [ 0, %for.i.header ], [ %j.inc, %for.j ] 
# |         222:  %fmin.j = phi float [ %fmin.i, %for.i.header ], [ %fmin.j.next, %for.j ] 
# |         223:  %idx = getelementptr inbounds [2 x [2 x i32]], ptr %A, i32 0, i32 %j, i32 %i 
# |           .
# |           .
# |           .
# |         243:  br label %for.i.header 
# |         244:  
# |         245: for.i.header: ; preds = %for.i.latch, %entry 
# |         246:  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ] 
# |         247:  %fmin.i = phi float [ %init, %entry ], [ %fmin.i.lcssa, %for.i.latch ] 
# |         248:  br label %for.j 
# | next:551      !~~~~~~~~~~~~~~  error: match on wrong line
# |         249:  
# |         250: for.j: ; preds = %for.j, %for.i.header 
# |         251:  %j = phi i32 [ 0, %for.i.header ], [ %j.inc, %for.j ] 
# |         252:  %fmin.j = phi float [ %fmin.i, %for.i.header ], [ %fmin.j.next, %for.j ] 
# |         253:  %idx = getelementptr inbounds [2 x [2 x i32]], ptr %A, i32 0, i32 %j, i32 %i 
# |           .
# |           .
# |           .
# |         272:  br label %for.i.header 
# |         273:  
# |         274: for.i.header: ; preds = %for.i.latch, %entry 
# |         275:  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ] 
# |         276:  %fmax.i = phi float [ %init, %entry ], [ %fmax.i.lcssa, %for.i.latch ] 
# |         277:  br label %for.j 
# | next:623      !~~~~~~~~~~~~~~  error: match on wrong line
# |         278:  
# |         279: for.j: ; preds = %for.j, %for.i.header 
# |         280:  %j = phi i32 [ 0, %for.i.header ], [ %j.inc, %for.j ] 
# |         281:  %fmax.j = phi float [ %fmax.i, %for.i.header ], [ %fmax.j.next, %for.j ] 
# |         282:  %idx = getelementptr inbounds [2 x [2 x i32]], ptr %A, i32 0, i32 %j, i32 %i 
# |           .
# |           .
# |           .
# |         302:  br label %for.i.header 
# |         303:  
# |         304: for.i.header: ; preds = %for.i.latch, %entry 
# |         305:  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ] 
# |         306:  %fmax.i = phi float [ %init, %entry ], [ %fmax.i.lcssa, %for.i.latch ] 
# |         307:  br label %for.j 
# | next:692      !~~~~~~~~~~~~~~  error: match on wrong line
# |         308:  
# |         309: for.j: ; preds = %for.j, %for.i.header 
# |         310:  %j = phi i32 [ 0, %for.i.header ], [ %j.inc, %for.j ] 
# |         311:  %fmax.j = phi float [ %fmax.i, %for.i.header ], [ %fmax.j.next, %for.j ] 
# |         312:  %idx = getelementptr inbounds [2 x [2 x i32]], ptr %A, i32 0, i32 %j, i32 %i 
# |           .
# |           .
# |           .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/function-attr.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/function-attr.ll -passes=loop-interchange -loop-interchange-profitabilities=ignore -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/function-attr.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -loop-interchange-profitabilities=ignore -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/function-attr.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/function-attr.ll:71:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[OUTER_HEADER:.*]]
# |               ^
# | <stdin>:36:2: note: 'next' match was here
# |  br label %inner
# |  ^
# | <stdin>:34:14: note: previous match ended here
# | outer.header: ; preds = %outer.latch, %entry
# |              ^
# | <stdin>:35:1: note: non-matching line after previous match is here
# |  %i = phi i64 [ 0, %entry ], [ %i.next, %outer.latch ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/function-attr.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |          .
# |          .
# |          .
# |         31: entry: 
# |         32:  br label %outer.header 
# |         33:  
# |         34: outer.header: ; preds = %outer.latch, %entry 
# |         35:  %i = phi i64 [ 0, %entry ], [ %i.next, %outer.latch ] 
# |         36:  br label %inner 
# | next:71      !~~~~~~~~~~~~~~  error: match on wrong line
# |         37:  
# |         38: inner: ; preds = %inner, %outer.header 
# |         39:  %j = phi i64 [ 0, %outer.header ], [ %j.next, %inner ] 
# |         40:  %gep.A = getelementptr [100 x i32], ptr %A, i64 %j, i64 %i 
# |         41:  store i32 0, ptr %gep.A, align 4 
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/guarded-inner-loop.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/guarded-inner-loop.ll -passes=loop-interchange -loop-interchange-profitabilities=ignore -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/guarded-inner-loop.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -loop-interchange-profitabilities=ignore -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/guarded-inner-loop.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/guarded-inner-loop.ll:27:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_I:.*]]
# |               ^
# | <stdin>:18:2: note: 'next' match was here
# |  br label %for.j
# |  ^
# | <stdin>:12:7: note: previous match ended here
# | for.i: ; preds = %for.i.inc, %entry
# |       ^
# | <stdin>:13:1: note: non-matching line after previous match is here
# |  %i = phi i32 [ %i.next, %for.i.inc ], [ 0, %entry ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/guarded-inner-loop.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |          .
# |          .
# |          .
# |         13:  %i = phi i32 [ %i.next, %for.i.inc ], [ 0, %entry ] 
# |         14:  %i.is.zero = icmp eq i32 %i, 0 
# |         15:  %xbase = getelementptr [9 x i32], ptr @x, i32 %i 
# |         16:  %wbase = getelementptr [9 x i32], ptr @w, i32 %i 
# |         17:  %ybase = getelementptr [3 x i32], ptr @y, i32 %i 
# |         18:  br label %for.j 
# | next:27      !~~~~~~~~~~~~~~  error: match on wrong line
# |         19:  
# |         20: for.j: ; preds = %for.j.inc, %for.i 
# |         21:  %j = phi i32 [ %j.next, %for.j.inc ], [ 0, %for.i ] 
# |         22:  br i1 %i.is.zero, label %for.j.inc, label %for.k.ph 
# |         23:  
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/inner-indvar-depend-on-outer-indvar-remark.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/inner-indvar-depend-on-outer-indvar-remark.ll -passes=loop-interchange -verify-dom-info -verify-loop-info -S -debug 2>&1 | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/inner-indvar-depend-on-outer-indvar-remark.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -verify-dom-info -verify-loop-info -S -debug
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/inner-indvar-depend-on-outer-indvar-remark.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/inner-indvar-depend-on-outer-indvar-remark.ll:14:10: error: CHECK: expected string not found in input
# | ; CHECK: Loop structure not understood by pass
# |          ^
# | <stdin>:1:1: note: scanning from here
# | Args: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -verify-dom-info -verify-loop-info -S -debug 
# | ^
# | <stdin>:2:16: note: possible intended match here
# | Get maximum perfect depth of loop nest rooted by loop 'for1.header'
# |                ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/inner-indvar-depend-on-outer-indvar-remark.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             1: Args: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -verify-dom-info -verify-loop-info -S -debug  
# | check:14'0     X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# |             2: Get maximum perfect depth of loop nest rooted by loop 'for1.header' 
# | check:14'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:14'1                    ?                                                     possible intended match
# |             3: Checking whether loop 'for1.header' and 'for2' are perfectly nested. 
# | check:14'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             4: Outer loop latch compare instruction: %exitcond26 = icmp eq i64 %i, 99 
# | check:14'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             5: Instruction: %i = phi i64 [ 0, %entry ], [ %i.next, %for1.inc10 ] 
# | check:14'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             6: in basic block: 
# | check:14'0     ~~~~~~~~~~~~~~~~
# |             7: for1.header: ; preds = %for1.inc10, %entry 
# | check:14'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/inner-indvar-depend-on-outer-indvar.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/inner-indvar-depend-on-outer-indvar.ll -passes=loop-interchange -verify-dom-info -verify-loop-info -S -da-enable-dependence-test=all 2>&1 | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/inner-indvar-depend-on-outer-indvar.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -verify-dom-info -verify-loop-info -S -da-enable-dependence-test=all
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/inner-indvar-depend-on-outer-indvar.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/inner-indvar-depend-on-outer-indvar.ll:17:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR1_HEADER:.*]]
# |               ^
# | <stdin>:14:2: note: 'next' match was here
# |  br label %for2
# |  ^
# | <stdin>:12:13: note: previous match ended here
# | for1.header: ; preds = %for1.inc10, %entry
# |             ^
# | <stdin>:13:1: note: non-matching line after previous match is here
# |  %i = phi i64 [ 0, %entry ], [ %i.next, %for1.inc10 ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/inner-indvar-depend-on-outer-indvar.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |          .
# |          .
# |          .
# |          9:  %0 = load i64, ptr @N, align 4 
# |         10:  br label %for1.header 
# |         11:  
# |         12: for1.header: ; preds = %for1.inc10, %entry 
# |         13:  %i = phi i64 [ 0, %entry ], [ %i.next, %for1.inc10 ] 
# |         14:  br label %for2 
# | next:17      !~~~~~~~~~~~~~  error: match on wrong line
# |         15:  
# |         16: for2: ; preds = %for2, %for1.header 
# |         17:  %j = phi i64 [ %j.next, %for2 ], [ 0, %for1.header ] 
# |         18:  %arrayidx5 = getelementptr inbounds [100 x [100 x i64]], ptr @A, i64 0, i64 %j, i64 %i 
# |         19:  %lv = load i64, ptr %arrayidx5, align 4 
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/interchange-insts-between-indvar.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchange-insts-between-indvar.ll -passes=loop-interchange -cache-line-size=64 -da-enable-dependence-test=all -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchange-insts-between-indvar.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -cache-line-size=64 -da-enable-dependence-test=all -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchange-insts-between-indvar.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchange-insts-between-indvar.ll:22:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_COND1_PREHEADER:.*]]
# |               ^
# | <stdin>:18:2: note: 'next' match was here
# |  br label %for.body4
# |  ^
# | <stdin>:11:19: note: previous match ended here
# | for.cond.loopexit: ; preds = %for.body4
# |                   ^
# | <stdin>:12:1: note: non-matching line after previous match is here
# |  %exitcond28 = icmp ne i64 %indvars.iv.next27, 2
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchange-insts-between-indvar.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |          .
# |          .
# |          .
# |         13:  br i1 %exitcond28, label %for.cond1.preheader, label %for.cond.cleanup 
# |         14:  
# |         15: for.cond1.preheader: ; preds = %for.cond.loopexit, %entry 
# |         16:  %indvars.iv26 = phi i64 [ 0, %entry ], [ %indvars.iv.next27, %for.cond.loopexit ] 
# |         17:  %indvars.iv.next27 = add nuw nsw i64 %indvars.iv26, 1 
# |         18:  br label %for.body4 
# | next:22      !~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |         19:  
# |         20: for.cond.cleanup: ; preds = %for.cond.loopexit 
# |         21:  ret void 
# |         22:  
# |         23: for.body4: ; preds = %for.body4, %for.cond1.preheader 
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/interchange-no-deps.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchange-no-deps.ll -passes='loop(loop-interchange),simplifycfg' -simplifycfg-require-and-preserve-domtree=1      -pass-remarks=loop-interchange -pass-remarks-missed=loop-interchange -stats -S 2>&1      | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck -check-prefix=STATS /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchange-no-deps.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt '-passes=loop(loop-interchange),simplifycfg' -simplifycfg-require-and-preserve-domtree=1 -pass-remarks=loop-interchange -pass-remarks-missed=loop-interchange -stats -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck -check-prefix=STATS /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchange-no-deps.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchange-no-deps.ll:14:15: error: STATS-NEXT: expected string not found in input
# | ; STATS-NEXT: [[INDVARS_IV19:%.*]] = phi i64 [ [[INDVARS_IV_NEXT20:%.*]], %[[FOR1_HEADER]] ], [ 0, %[[FOR2]] ]
# |               ^
# | <stdin>:9:13: note: scanning from here
# | for1.header: ; preds = %for1.inc, %entry
# |             ^
# | <stdin>:9:13: note: with "FOR1_HEADER" equal to "for1.header"
# | for1.header: ; preds = %for1.inc, %entry
# |             ^
# | <stdin>:9:13: note: with "FOR2" equal to "for1.header"
# | for1.header: ; preds = %for1.inc, %entry
# |             ^
# | <stdin>:10:8: note: possible intended match here
# |  %indvars.iv19 = phi i64 [ 0, %entry ], [ %indvars.iv.next20, %for1.inc ]
# |        ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchange-no-deps.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            1: remark: <unknown>:0:0: All loops have dependencies in all directions. 
# |            2: ; ModuleID = '<stdin>' 
# |            3: source_filename = "<stdin>" 
# |            4:  
# |            5: define i32 @no_deps_interchange(ptr captures(none) %Arr) { 
# |            6: entry: 
# |            7:  br label %for1.header 
# |            8:  
# |            9: for1.header: ; preds = %for1.inc, %entry 
# | next:14'0                 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | next:14'1                                               with "FOR1_HEADER" equal to "for1.header"
# | next:14'2                                               with "FOR2" equal to "for1.header"
# |           10:  %indvars.iv19 = phi i64 [ 0, %entry ], [ %indvars.iv.next20, %for1.inc ] 
# | next:14'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:14'3            ?                                                                   possible intended match
# |           11:  br label %for2 
# | next:14'0     ~~~~~~~~~~~~~~~~
# |           12:  
# | next:14'0     ~
# |           13: for2: ; preds = %for2, %for1.header 
# | next:14'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           14:  %indvars.iv = phi i64 [ 0, %for1.header ], [ %indvars.iv.next, %for2 ] 
# | next:14'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           15:  %arrayidx6 = getelementptr inbounds [1024 x i32], ptr %Arr, i64 %indvars.iv, i64 %indvars.iv19 
# | next:14'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            .
# |            .
# |            .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/interchangeable-innerloop-multiple-indvars.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchangeable-innerloop-multiple-indvars.ll -passes=loop-interchange -cache-line-size=64 -verify-dom-info -verify-loop-info -verify-scev -verify-loop-lcssa -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchangeable-innerloop-multiple-indvars.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -cache-line-size=64 -verify-dom-info -verify-loop-info -verify-scev -verify-loop-lcssa -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchangeable-innerloop-multiple-indvars.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchangeable-innerloop-multiple-indvars.ll:26:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_BODY:.*]]
# |               ^
# | <stdin>:16:2: note: 'next' match was here
# |  br label %for.body3
# |  ^
# | <stdin>:12:10: note: previous match ended here
# | for.body: ; preds = %for.inc7, %entry
# |          ^
# | <stdin>:13:1: note: non-matching line after previous match is here
# |  %indvars.outer = phi i64 [ 0, %entry ], [ %indvars.outer.next, %for.inc7 ]
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchangeable-innerloop-multiple-indvars.ll:121:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_BODY:.*]]
# |               ^
# | <stdin>:55:2: note: 'next' match was here
# |  br label %for.body3
# |  ^
# | <stdin>:51:10: note: previous match ended here
# | for.body: ; preds = %for.inc7, %entry
# |          ^
# | <stdin>:52:1: note: non-matching line after previous match is here
# |  %indvars.outer = phi i64 [ 0, %entry ], [ %indvars.outer.next, %for.inc7 ]
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchangeable-innerloop-multiple-indvars.ll:223:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_BODY:.*]]
# |               ^
# | <stdin>:96:2: note: 'next' match was here
# |  br label %for.body3
# |  ^
# | <stdin>:92:10: note: previous match ended here
# | for.body: ; preds = %for.inc7, %entry
# |          ^
# | <stdin>:93:1: note: non-matching line after previous match is here
# |  %indvars.outer = phi i64 [ 0, %entry ], [ %indvars.outer.next, %for.inc7 ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchangeable-innerloop-multiple-indvars.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |           .
# |           .
# |           .
# |          11:  
# |          12: for.body: ; preds = %for.inc7, %entry 
# |          13:  %indvars.outer = phi i64 [ 0, %entry ], [ %indvars.outer.next, %for.inc7 ] 
# |          14:  %or.reduction.outer = phi i32 [ %a, %entry ], [ %or.lcssa, %for.inc7 ] 
# |          15:  %index = add nsw i64 %indvars.outer, 9 
# |          16:  br label %for.body3 
# | next:26       !~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |          17:  
# |          18: for.body3: ; preds = %for.body3, %for.body 
# |          19:  %or.reduction.inner = phi i32 [ %or.reduction.outer, %for.body ], [ %or, %for.body3 ] 
# |          20:  %indvar0 = phi i64 [ 5, %for.body ], [ %indvar0.next, %for.body3 ] 
# |          21:  %indvar1 = phi i32 [ 5, %for.body ], [ %indvar1.next, %for.body3 ] 
# |           .
# |           .
# |           .
# |          50:  
# |          51: for.body: ; preds = %for.inc7, %entry 
# |          52:  %indvars.outer = phi i64 [ 0, %entry ], [ %indvars.outer.next, %for.inc7 ] 
# |          53:  %or.reduction.outer = phi i32 [ %a, %entry ], [ %or.lcssa, %for.inc7 ] 
# |          54:  %index = add nsw i64 %indvars.outer, 9 
# |          55:  br label %for.body3 
# | next:121      !~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |          56:  
# |          57: for.body3: ; preds = %for.body3, %for.body 
# |          58:  %or.reduction.inner = phi i32 [ %or.reduction.outer, %for.body ], [ %or, %for.body3 ] 
# |          59:  %indvar0 = phi i64 [ 5, %for.body ], [ %indvar0.next, %for.body3 ] 
# |          60:  %indvar1 = phi i32 [ 6, %for.body ], [ %indvar1.next, %for.body3 ] 
# |           .
# |           .
# |           .
# |          91:  
# |          92: for.body: ; preds = %for.inc7, %entry 
# |          93:  %indvars.outer = phi i64 [ 0, %entry ], [ %indvars.outer.next, %for.inc7 ] 
# |          94:  %or.reduction.outer = phi i32 [ %a, %entry ], [ %or.lcssa, %for.inc7 ] 
# |          95:  %index = add nsw i64 %indvars.outer, 9 
# |          96:  br label %for.body3 
# | next:223      !~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |          97:  
# |          98: for.body3: ; preds = %for.body3, %for.body 
# |          99:  %or.reduction.inner = phi i32 [ %or.reduction.outer, %for.body ], [ %or, %for.body3 ] 
# |         100:  %indvar0 = phi i32 [ 5, %for.body ], [ %indvar0.next, %for.body3 ] 
# |         101:  %indvar1 = phi i32 [ 49, %for.body ], [ %indvar1.next, %for.body3 ] 
# |           .
# |           .
# |           .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/interchangeable-outerloop-multiple-indvars.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchangeable-outerloop-multiple-indvars.ll -passes=loop-interchange -loop-interchange-profitabilities=ignore -verify-dom-info -verify-loop-info -verify-scev -verify-loop-lcssa -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchangeable-outerloop-multiple-indvars.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -loop-interchange-profitabilities=ignore -verify-dom-info -verify-loop-info -verify-scev -verify-loop-lcssa -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchangeable-outerloop-multiple-indvars.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchangeable-outerloop-multiple-indvars.ll:23:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_COND2_PREHEADER:.*]]
# |               ^
# | <stdin>:17:2: note: 'next' match was here
# |  br label %for.body4
# |  ^
# | <stdin>:12:21: note: previous match ended here
# | for.cond2.preheader: ; preds = %for.inc7, %entry
# |                     ^
# | <stdin>:13:1: note: non-matching line after previous match is here
# |  %indvar0 = phi i64 [ 0, %entry ], [ %indvar0.next, %for.inc7 ]
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchangeable-outerloop-multiple-indvars.ll:123:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_COND2_PREHEADER:.*]]
# |               ^
# | <stdin>:58:2: note: 'next' match was here
# |  br label %for.body4
# |  ^
# | <stdin>:53:21: note: previous match ended here
# | for.cond2.preheader: ; preds = %for.inc7, %entry
# |                     ^
# | <stdin>:54:1: note: non-matching line after previous match is here
# |  %indvar0 = phi i64 [ 0, %entry ], [ %indvar0.next, %for.inc7 ]
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchangeable-outerloop-multiple-indvars.ll:222:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_COND2_PREHEADER:.*]]
# |               ^
# | <stdin>:99:2: note: 'next' match was here
# |  br label %for.body4
# |  ^
# | <stdin>:94:21: note: previous match ended here
# | for.cond2.preheader: ; preds = %for.inc7, %entry
# |                     ^
# | <stdin>:95:1: note: non-matching line after previous match is here
# |  %indvar0 = phi i64 [ 0, %entry ], [ %indvar0.next, %for.inc7 ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchangeable-outerloop-multiple-indvars.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |           .
# |           .
# |           .
# |          12: for.cond2.preheader: ; preds = %for.inc7, %entry 
# |          13:  %indvar0 = phi i64 [ 0, %entry ], [ %indvar0.next, %for.inc7 ] 
# |          14:  %or.reduction = phi i32 [ %a, %entry ], [ %or.lcssa, %for.inc7 ] 
# |          15:  %indvar1 = phi i32 [ 1, %entry ], [ %indvar1.next, %for.inc7 ] 
# |          16:  %index = add nsw i64 %indvar0, 9 
# |          17:  br label %for.body4 
# | next:23       !~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |          18:  
# |          19: for.body4: ; preds = %for.body4, %for.cond2.preheader 
# |          20:  %indvars.iv = phi i64 [ 5, %for.cond2.preheader ], [ %indvars.iv.next, %for.body4 ] 
# |          21:  %or13 = phi i32 [ %or.reduction, %for.cond2.preheader ], [ %or, %for.body4 ] 
# |          22:  %arrayidx6 = getelementptr inbounds [200 x [100 x i32]], ptr @b, i64 0, i64 %indvars.iv, i64 %index 
# |           .
# |           .
# |           .
# |          53: for.cond2.preheader: ; preds = %for.inc7, %entry 
# |          54:  %indvar0 = phi i64 [ 0, %entry ], [ %indvar0.next, %for.inc7 ] 
# |          55:  %or.reduction = phi i32 [ %a, %entry ], [ %or.lcssa, %for.inc7 ] 
# |          56:  %indvar1 = phi i64 [ 1, %entry ], [ %indvar1.next, %for.inc7 ] 
# |          57:  %index0 = add nsw i64 %indvar0, 9 
# |          58:  br label %for.body4 
# | next:123      !~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |          59:  
# |          60: for.body4: ; preds = %for.body4, %for.cond2.preheader 
# |          61:  %indvars.iv = phi i64 [ 5, %for.cond2.preheader ], [ %indvars.iv.next, %for.body4 ] 
# |          62:  %or13 = phi i32 [ %or.reduction, %for.cond2.preheader ], [ %or, %for.body4 ] 
# |          63:  %index1 = add nsw i64 %indvars.iv, %indvar1 
# |           .
# |           .
# |           .
# |          94: for.cond2.preheader: ; preds = %for.inc7, %entry 
# |          95:  %indvar0 = phi i64 [ 0, %entry ], [ %indvar0.next, %for.inc7 ] 
# |          96:  %or.reduction = phi i32 [ %a, %entry ], [ %or.lcssa, %for.inc7 ] 
# |          97:  %indvar1 = phi i64 [ 1, %entry ], [ %indvar1.next, %for.inc7 ] 
# |          98:  %index0 = add nsw i64 %indvar0, 9 
# |          99:  br label %for.body4 
# | next:222      !~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |         100:  
# |         101: for.body4: ; preds = %for.body4, %for.cond2.preheader 
# |         102:  %indvars.iv = phi i64 [ 5, %for.cond2.preheader ], [ %indvars.iv.next, %for.body4 ] 
# |         103:  %or13 = phi i32 [ %or.reduction, %for.cond2.preheader ], [ %or, %for.body4 ] 
# |         104:  %index1 = add nsw i64 %indvars.iv, %indvar1 
# |           .
# |           .
# |           .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/interchangeable.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchangeable.ll -passes=loop-interchange -cache-line-size=64 -verify-dom-info -verify-loop-info -verify-scev -verify-loop-lcssa -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchangeable.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -cache-line-size=64 -verify-dom-info -verify-loop-info -verify-scev -verify-loop-lcssa -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchangeable.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchangeable.ll:20:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR1_HEADER:.*]]
# |               ^
# | <stdin>:14:2: note: 'next' match was here
# |  br label %for2
# |  ^
# | <stdin>:12:13: note: previous match ended here
# | for1.header: ; preds = %for1.inc10, %entry
# |             ^
# | <stdin>:13:1: note: non-matching line after previous match is here
# |  %j23 = phi i64 [ 0, %entry ], [ %j.next24, %for1.inc10 ]
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchangeable.ll:84:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR1_HEADER:.*]]
# |               ^
# | <stdin>:41:2: note: 'next' match was here
# |  br label %for3
# |  ^
# | <stdin>:39:13: note: previous match ended here
# | for1.header: ; preds = %for1.inc10, %entry
# |             ^
# | <stdin>:40:1: note: non-matching line after previous match is here
# |  %j19 = phi i64 [ 0, %entry ], [ %j.next20, %for1.inc10 ]
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchangeable.ll:152:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR1_HEADER:.*]]
# |               ^
# | <stdin>:69:2: note: 'next' match was here
# |  br label %for2
# |  ^
# | <stdin>:66:13: note: previous match ended here
# | for1.header: ; preds = %for1.inc10, %entry
# |             ^
# | <stdin>:67:1: note: non-matching line after previous match is here
# |  %j23 = phi i64 [ 1, %entry ], [ %j.next24, %for1.inc10 ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchangeable.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |           .
# |           .
# |           .
# |           9: entry: 
# |          10:  br label %for1.header 
# |          11:  
# |          12: for1.header: ; preds = %for1.inc10, %entry 
# |          13:  %j23 = phi i64 [ 0, %entry ], [ %j.next24, %for1.inc10 ] 
# |          14:  br label %for2 
# | next:20       !~~~~~~~~~~~~~  error: match on wrong line
# |          15:  
# |          16: for2: ; preds = %for2, %for1.header 
# |          17:  %j = phi i64 [ %j.next, %for2 ], [ 0, %for1.header ] 
# |          18:  %arrayidx5 = getelementptr inbounds [100 x [100 x i64]], ptr @A, i64 0, i64 %j, i64 %j23 
# |          19:  %lv = load i64, ptr %arrayidx5, align 8 
# |           .
# |           .
# |           .
# |          36: entry: 
# |          37:  br label %for1.header 
# |          38:  
# |          39: for1.header: ; preds = %for1.inc10, %entry 
# |          40:  %j19 = phi i64 [ 0, %entry ], [ %j.next20, %for1.inc10 ] 
# |          41:  br label %for3 
# | next:84       !~~~~~~~~~~~~~  error: match on wrong line
# |          42:  
# |          43: for3: ; preds = %for3, %for1.header 
# |          44:  %j = phi i64 [ 100, %for1.header ], [ %j.next, %for3 ] 
# |          45:  %arrayidx5 = getelementptr inbounds [100 x [100 x i64]], ptr @A, i64 0, i64 %j, i64 %j19 
# |          46:  %0 = load i64, ptr %arrayidx5, align 8 
# |           .
# |           .
# |           .
# |          64:  br label %for1.header 
# |          65:  
# |          66: for1.header: ; preds = %for1.inc10, %entry 
# |          67:  %j23 = phi i64 [ 1, %entry ], [ %j.next24, %for1.inc10 ] 
# |          68:  %j.next24 = add nuw nsw i64 %j23, 1 
# |          69:  br label %for2 
# | next:152      !~~~~~~~~~~~~~  error: match on wrong line
# |          70:  
# |          71: for2: ; preds = %for2, %for1.header 
# |          72:  %j = phi i64 [ %j.next, %for2 ], [ 1, %for1.header ] 
# |          73:  %j.next = add nuw nsw i64 %j, 1 
# |          74:  %arrayidx5 = getelementptr inbounds [100 x [100 x i64]], ptr @A, i64 0, i64 %j, i64 %j23 
# |           .
# |           .
# |           .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/interchanged-loop-nest-3.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchanged-loop-nest-3.ll -passes=loop-interchange -verify-dom-info -verify-loop-info -S 2>&1 | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchanged-loop-nest-3.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -verify-dom-info -verify-loop-info -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchanged-loop-nest-3.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchanged-loop-nest-3.ll:23:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_COND1_PREHEADER:.*]]
# |               ^
# | <stdin>:13:2: note: 'next' match was here
# |  br label %for.cond4.preheader
# |  ^
# | <stdin>:11:21: note: previous match ended here
# | for.cond1.preheader: ; preds = %for.inc15, %entry
# |                     ^
# | <stdin>:12:1: note: non-matching line after previous match is here
# |  %i.028 = phi i64 [ 0, %entry ], [ %inc16, %for.inc15 ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/interchanged-loop-nest-3.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |          .
# |          .
# |          .
# |          8: entry: 
# |          9:  br label %for.cond1.preheader 
# |         10:  
# |         11: for.cond1.preheader: ; preds = %for.inc15, %entry 
# |         12:  %i.028 = phi i64 [ 0, %entry ], [ %inc16, %for.inc15 ] 
# |         13:  br label %for.cond4.preheader 
# | next:23      !~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |         14:  
# |         15: for.cond4.preheader: ; preds = %for.inc12, %for.cond1.preheader 
# |         16:  %j.027 = phi i64 [ 0, %for.cond1.preheader ], [ %inc13, %for.inc12 ] 
# |         17:  br label %for.body6 
# |         18:  
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/lcssa-incoming-value-is-not-instr.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/lcssa-incoming-value-is-not-instr.ll -passes=loop-interchange -loop-interchange-profitabilities=ignore -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/lcssa-incoming-value-is-not-instr.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -loop-interchange-profitabilities=ignore -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/lcssa-incoming-value-is-not-instr.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/lcssa-incoming-value-is-not-instr.ll:12:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[OUTER_HEADER:.*]]
# |               ^
# | <stdin>:10:2: note: 'next' match was here
# |  br label %inner
# |  ^
# | <stdin>:8:14: note: previous match ended here
# | outer.header: ; preds = %outer.latch, %entry
# |              ^
# | <stdin>:9:1: note: non-matching line after previous match is here
# |  %i = phi i64 [ 0, %entry ], [ %i.next, %outer.latch ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/lcssa-incoming-value-is-not-instr.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |          .
# |          .
# |          .
# |          5: entry: 
# |          6:  br label %outer.header 
# |          7:  
# |          8: outer.header: ; preds = %outer.latch, %entry 
# |          9:  %i = phi i64 [ 0, %entry ], [ %i.next, %outer.latch ] 
# |         10:  br label %inner 
# | next:12      !~~~~~~~~~~~~~~  error: match on wrong line
# |         11:  
# |         12: inner: ; preds = %inner, %outer.header 
# |         13:  %j = phi i64 [ 0, %outer.header ], [ %j.next, %inner ] 
# |         14:  %j.next = add i64 %j, 1 
# |         15:  %ec.j = icmp eq i64 %j.next, 2 
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/lcssa-phi-outer-latch.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/lcssa-phi-outer-latch.ll -passes=loop-interchange -loop-interchange-profitabilities=ignore -verify-dom-info -verify-loop-info -verify-scev -verify-loop-lcssa -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/lcssa-phi-outer-latch.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -loop-interchange-profitabilities=ignore -verify-dom-info -verify-loop-info -verify-scev -verify-loop-lcssa -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/lcssa-phi-outer-latch.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/lcssa-phi-outer-latch.ll:18:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[OUTER_HEADER:.*]]
# |               ^
# | <stdin>:11:2: note: 'next' match was here
# |  br label %inner.header
# |  ^
# | <stdin>:9:14: note: previous match ended here
# | outer.header: ; preds = %outer.latch, %entry
# |              ^
# | <stdin>:10:1: note: non-matching line after previous match is here
# |  %i = phi i64 [ 1, %entry ], [ %i.next, %outer.latch ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/lcssa-phi-outer-latch.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |          .
# |          .
# |          .
# |          6: entry: 
# |          7:  br label %outer.header 
# |          8:  
# |          9: outer.header: ; preds = %outer.latch, %entry 
# |         10:  %i = phi i64 [ 1, %entry ], [ %i.next, %outer.latch ] 
# |         11:  br label %inner.header 
# | next:18      !~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |         12:  
# |         13: inner.header: ; preds = %inner.latch, %outer.header 
# |         14:  %j = phi i16 [ 0, %outer.header ], [ %j.next, %inner.latch ] 
# |         15:  %arrayidx.us.us = getelementptr i16, ptr %a, i16 %j 
# |         16:  %0 = load i16, ptr %arrayidx.us.us, align 1 
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/lcssa-preheader.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/lcssa-preheader.ll -passes=loop-interchange -cache-line-size=64 -verify-loop-lcssa -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/lcssa-preheader.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -cache-line-size=64 -verify-loop-lcssa -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/lcssa-preheader.ll
# note: command had no output on stdout or stderr
# RUN: at line 3
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/lcssa-preheader.ll -passes=loop-interchange -cache-line-size=64 -da-disable-delinearization-checks -verify-loop-lcssa -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck -check-prefix=CHECK-DELIN /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/lcssa-preheader.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -cache-line-size=64 -da-disable-delinearization-checks -verify-loop-lcssa -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck -check-prefix=CHECK-DELIN /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/lcssa-preheader.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/lcssa-preheader.ll:177:21: error: CHECK-DELIN-NEXT: is not on the line after the previous match
# | ; CHECK-DELIN-NEXT: br label %[[OUTER_HEADER:.*]]
# |                     ^
# | <stdin>:59:2: note: 'next' match was here
# |  br label %inner
# |  ^
# | <stdin>:56:14: note: previous match ended here
# | outer.header: ; preds = %outer.latch, %bb
# |              ^
# | <stdin>:57:1: note: non-matching line after previous match is here
# |  %outer.iv = phi i64 [ 0, %bb ], [ %outer.iv.next, %outer.latch ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/lcssa-preheader.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |           .
# |           .
# |           .
# |          54:  br label %outer.header 
# |          55:  
# |          56: outer.header: ; preds = %outer.latch, %bb 
# |          57:  %outer.iv = phi i64 [ 0, %bb ], [ %outer.iv.next, %outer.latch ] 
# |          58:  %N.ext = sext i32 %N to i64 
# |          59:  br label %inner 
# | next:177      !~~~~~~~~~~~~~~  error: match on wrong line
# |          60:  
# |          61: inner: ; preds = %inner, %outer.header 
# |          62:  %inner.iv = phi i64 [ 0, %outer.header ], [ %inner.iv.next, %inner ] 
# |          63:  %gep = getelementptr inbounds [2 x i16], ptr @global, i64 %inner.iv, i64 %outer.iv 
# |          64:  store i16 0, ptr %gep, align 2 
# |           .
# |           .
# |           .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/legality-check.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/legality-check.ll -passes=loop-interchange -verify-dom-info -verify-loop-info      -disable-output -debug -da-enable-dependence-test=all 2>&1 | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/legality-check.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -verify-dom-info -verify-loop-info -disable-output -debug -da-enable-dependence-test=all
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/legality-check.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/legality-check.ll:20:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: Checking if loops 'for.i.header' and 'for.j' are tightly nested
# |               ^
# | <stdin>:527:47: note: scanning from here
# | Processing InnerLoopId = 2 and OuterLoopId = 1
# |                                               ^
# | <stdin>:540:10: note: possible intended match here
# | Checking whether loop 'for.i.header' and 'for.j' are perfectly nested.
# |          ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/legality-check.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            .
# |            .
# |            .
# |          522:  Src: store float %add, ptr %idx.store, align 4 
# |          523:  Dst: store float %add, ptr %idx.store, align 4 
# |          524: Dependency matrix before interchange: 
# |          525: * = <  
# |          526: * = =  
# |          527: Processing InnerLoopId = 2 and OuterLoopId = 1 
# | next:20'0                                                   X error: no match found
# |          528: Failed to find inner loop inductions or found unsupported reductions. 
# | next:20'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          529: Cannot prove legality, not interchanging loops 'for.i.header' and 'for.j' 
# | next:20'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          530: Processing InnerLoopId = 1 and OuterLoopId = 0 
# | next:20'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          531: Failed interchange InnerLoopId = 1 and OuterLoopId = 0 due to dependence 
# | next:20'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          532: Cannot prove legality, not interchanging loops 'for.n.header' and 'for.i.header' 
# | next:20'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            .
# |            .
# |            .
# |          535: Verifying parent property of node %for.n.latch 
# | next:20'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          536: Verifying parent property of node %for.i.header 
# | next:20'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          537: Verifying parent property of node %for.i.latch 
# | next:20'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          538: Verifying parent property of node %for.j 
# | next:20'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          539: Get maximum perfect depth of loop nest rooted by loop 'for.i.header' 
# | next:20'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          540: Checking whether loop 'for.i.header' and 'for.j' are perfectly nested. 
# | next:20'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:20'1              ?                                                              possible intended match
# |          541: Outer loop latch compare instruction: %cmp.i = icmp slt i32 %i.inc, 256 
# | next:20'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          542: Instruction: %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ] 
# | next:20'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          543: in basic block: 
# | next:20'0     ~~~~~~~~~~~~~~~~
# |          544: for.i.header: ; preds = %for.i.latch, %entry 
# | next:20'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          545:  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ] 
# | next:20'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            .
# |            .
# |            .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/loop-interchange-optimization-remarks.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 3
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/loop-interchange-optimization-remarks.ll -passes=loop-interchange -cache-line-size=64 -verify-dom-info -verify-loop-info      -pass-remarks-output=/home/gha/actions-runner/_work/llvm-project/llvm-project/build/test/Transforms/LoopInterchange/Output/loop-interchange-optimization-remarks.ll.tmp -pass-remarks-missed='loop-interchange'      -pass-remarks='loop-interchange' -S
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -cache-line-size=64 -verify-dom-info -verify-loop-info -pass-remarks-output=/home/gha/actions-runner/_work/llvm-project/llvm-project/build/test/Transforms/LoopInterchange/Output/loop-interchange-optimization-remarks.ll.tmp -pass-remarks-missed=loop-interchange -pass-remarks=loop-interchange -S
# .---command stdout------------
# | ; ModuleID = '<stdin>'
# | source_filename = "<stdin>"
# | 
# | @A = common global [100 x [100 x i32]] zeroinitializer
# | @B = common global [100 x [100 x i32]] zeroinitializer
# | @C = common global [100 x i32] zeroinitializer
# | @A10 = local_unnamed_addr global [3 x [3 x i32]] zeroinitializer, align 16
# | 
# | define void @test01(i32 %N) {
# | entry:
# |   %cmp31 = icmp sgt i32 %N, 1
# |   br i1 %cmp31, label %for.cond1.preheader.lr.ph, label %for.end19
# | 
# | for.cond1.preheader.lr.ph:                        ; preds = %entry
# |   %0 = add i32 %N, -1
# |   br label %for.body3.lr.ph
# | 
# | for.body3.lr.ph:                                  ; preds = %for.inc17, %for.cond1.preheader.lr.ph
# |   %indvars.iv34 = phi i64 [ 1, %for.cond1.preheader.lr.ph ], [ %indvars.iv.next35, %for.inc17 ]
# |   %1 = add nsw i64 %indvars.iv34, -1
# |   br label %for.body3
# | 
# | for.body3:                                        ; preds = %for.body3, %for.body3.lr.ph
# |   %indvars.iv = phi i64 [ 1, %for.body3.lr.ph ], [ %indvars.iv.next, %for.body3 ]
# |   %2 = add nsw i64 %indvars.iv, -1
# |   %arrayidx6 = getelementptr inbounds [100 x [100 x i32]], ptr @A, i64 0, i64 %1, i64 %2
# |   %3 = load i32, ptr %arrayidx6, align 4
# |   %arrayidx10 = getelementptr inbounds [100 x [100 x i32]], ptr @B, i64 0, i64 %indvars.iv34, i64 %indvars.iv
# |   %4 = load i32, ptr %arrayidx10, align 4
# |   %add = add nsw i32 %4, %3
# |   store i32 %add, ptr %arrayidx6, align 4
# |   %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
# |   %lftr.wideiv = trunc i64 %indvars.iv to i32
# |   %exitcond = icmp eq i32 %lftr.wideiv, %0
# |   br i1 %exitcond, label %for.inc17, label %for.body3
# | 
# | for.inc17:                                        ; preds = %for.body3
# |   %indvars.iv.next35 = add nuw nsw i64 %indvars.iv34, 1
# |   %lftr.wideiv37 = trunc i64 %indvars.iv34 to i32
# |   %exitcond38 = icmp eq i32 %lftr.wideiv37, %0
# |   br i1 %exitcond38, label %for.end19.loopexit, label %for.body3.lr.ph
# | 
# | for.end19.loopexit:                               ; preds = %for.inc17
# |   br label %for.end19
# | 
# | for.end19:                                        ; preds = %for.end19.loopexit, %entry
# |   ret void
# | }
# | 
# | define void @test02(i32 %k, i32 %N) {
# | entry:
# |   %sub = add nsw i32 %N, -1
# |   %cmp26 = icmp sgt i32 %N, 1
# |   br i1 %cmp26, label %for.cond1.preheader.lr.ph, label %for.end17
# | 
# | for.cond1.preheader.lr.ph:                        ; preds = %entry
# |   %cmp324 = icmp sgt i32 %sub, 1
# |   %0 = add i32 %N, -2
# |   %1 = sext i32 %sub to i64
# |   br label %for.cond1.preheader
# | 
# | for.cond.loopexit.loopexit:                       ; preds = %for.body4
# |   br label %for.cond.loopexit
# | 
# | for.cond.loopexit:                                ; preds = %for.cond.loopexit.loopexit, %for.cond1.preheader
# |   %cmp = icmp slt i64 %indvars.iv.next29, %1
# |   br i1 %cmp, label %for.cond1.preheader, label %for.end17.loopexit
# | 
# | for.cond1.preheader:                              ; preds = %for.cond.loopexit, %for.cond1.preheader.lr.ph
# |   %indvars.iv28 = phi i64 [ 0, %for.cond1.preheader.lr.ph ], [ %indvars.iv.next29, %for.cond.loopexit ]
# |   %indvars.iv.next29 = add nuw nsw i64 %indvars.iv28, 1
# |   br i1 %cmp324, label %for.body4.preheader, label %for.cond.loopexit
# | 
# | for.body4.preheader:                              ; preds = %for.cond1.preheader
# |   br label %for.body4
# | 
# | for.body4:                                        ; preds = %for.body4.preheader, %for.body4
# |   %indvars.iv = phi i64 [ %indvars.iv.next, %for.body4 ], [ 1, %for.body4.preheader ]
# |   %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
# |   %arrayidx7 = getelementptr inbounds [100 x [100 x i32]], ptr @A, i64 0, i64 %indvars.iv.next, i64 %indvars.iv.next29
# |   %2 = load i32, ptr %arrayidx7, align 4
# |   %add8 = add nsw i32 %2, %k
# |   store i32 %add8, ptr %arrayidx7, align 4
# |   %lftr.wideiv = trunc i64 %indvars.iv to i32
# |   %exitcond = icmp eq i32 %lftr.wideiv, %0
# |   br i1 %exitcond, label %for.cond.loopexit.loopexit, label %for.body4
# | 
# | for.end17.loopexit:                               ; preds = %for.cond.loopexit
# |   br label %for.end17
# | 
# | for.end17:                                        ; preds = %for.end17.loopexit, %entry
# |   ret void
# | }
# | 
# | define void @test03() {
# | entry:
# |   br label %for.cond1.preheader
# | 
# | for.cond.loopexit:                                ; preds = %for.body4
# |   %exitcond28 = icmp ne i64 %indvars.iv.next27, 2
# |   br i1 %exitcond28, label %for.cond1.preheader, label %for.cond.cleanup
# | 
# | for.cond1.preheader:                              ; preds = %for.cond.loopexit, %entry
# |   %indvars.iv26 = phi i64 [ 0, %entry ], [ %indvars.iv.next27, %for.cond.loopexit ]
# |   %indvars.iv.next27 = add nuw nsw i64 %indvars.iv26, 1
# |   br label %for.body4
# | 
# | for.cond.cleanup:                                 ; preds = %for.cond.loopexit
# |   ret void
# | 
# | for.body4:                                        ; preds = %for.body4, %for.cond1.preheader
# |   %indvars.iv = phi i64 [ 0, %for.cond1.preheader ], [ %indvars.iv.next, %for.body4 ]
# |   %arrayidx6 = getelementptr inbounds [3 x [3 x i32]], ptr @A10, i64 0, i64 %indvars.iv, i64 %indvars.iv26
# |   %tmp = trunc i64 %indvars.iv26 to i32
# |   store i32 %tmp, ptr %arrayidx6, align 4
# |   %arrayidx10 = getelementptr inbounds [3 x [3 x i32]], ptr @A10, i64 0, i64 %indvars.iv, i64 %indvars.iv.next27
# |   %tmp1 = trunc i64 %indvars.iv to i32
# |   store i32 %tmp1, ptr %arrayidx10, align 4
# |   %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
# |   %exitcond = icmp ne i64 %indvars.iv.next, 3
# |   br i1 %exitcond, label %for.body4, label %for.cond.loopexit
# | }
# | 
# | define void @test04(i32 %k, i32 %N) {
# | entry:
# |   %cmp30 = icmp sgt i32 %N, 0
# |   br i1 %cmp30, label %for.body.lr.ph, label %for.end17
# | 
# | for.body.lr.ph:                                   ; preds = %entry
# |   %0 = add i32 %N, -1
# |   %1 = zext i32 %k to i64
# |   br label %for.body
# | 
# | for.body:                                         ; preds = %for.inc15, %for.body.lr.ph
# |   %indvars.iv32 = phi i64 [ 0, %for.body.lr.ph ], [ %indvars.iv.next33, %for.inc15 ]
# |   %2 = add nsw i64 %indvars.iv32, %1
# |   %arrayidx = getelementptr inbounds [100 x i32], ptr @C, i64 0, i64 %indvars.iv32
# |   %3 = trunc i64 %2 to i32
# |   store i32 %3, ptr %arrayidx, align 4
# |   br label %for.body3
# | 
# | for.body3:                                        ; preds = %for.body3, %for.body
# |   %indvars.iv = phi i64 [ 0, %for.body ], [ %indvars.iv.next, %for.body3 ]
# |   %arrayidx7 = getelementptr inbounds [100 x [100 x i32]], ptr @A, i64 0, i64 %indvars.iv32, i64 %indvars.iv
# |   %4 = load i32, ptr %arrayidx7, align 4
# |   %add10 = add nsw i32 %3, %4
# |   store i32 %add10, ptr %arrayidx7, align 4
# |   %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
# |   %lftr.wideiv = trunc i64 %indvars.iv to i32
# |   %exitcond = icmp eq i32 %lftr.wideiv, %0
# |   br i1 %exitcond, label %for.inc15, label %for.body3
# | 
# | for.inc15:                                        ; preds = %for.body3
# |   %indvars.iv.next33 = add nuw nsw i64 %indvars.iv32, 1
# |   %lftr.wideiv35 = trunc i64 %indvars.iv32 to i32
# |   %exitcond36 = icmp eq i32 %lftr.wideiv35, %0
# |   br i1 %exitcond36, label %for.end17.loopexit, label %for.body
# | 
# | for.end17.loopexit:                               ; preds = %for.inc15
# |   br label %for.end17
# | 
# | for.end17:                                        ; preds = %for.end17.loopexit, %entry
# |   ret void
# | }
# `-----------------------------
# .---command stderr------------
# | remark: <unknown>:0:0: All loops have dependencies in all directions.
# | remark: <unknown>:0:0: All loops have dependencies in all directions.
# | remark: <unknown>:0:0: All loops have dependencies in all directions.
# `-----------------------------
# RUN: at line 6
cat /home/gha/actions-runner/_work/llvm-project/llvm-project/build/test/Transforms/LoopInterchange/Output/loop-interchange-optimization-remarks.ll.tmp |  /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/loop-interchange-optimization-remarks.ll
# executed command: cat /home/gha/actions-runner/_work/llvm-project/llvm-project/build/test/Transforms/LoopInterchange/Output/loop-interchange-optimization-remarks.ll.tmp
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/loop-interchange-optimization-remarks.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/loop-interchange-optimization-remarks.ll:221:10: error: CHECK: expected string not found in input
# | ; CHECK: --- !Passed
# |          ^
# | <stdin>:35:4: note: scanning from here
# | ...
# |    ^
# | <stdin>:43:1: note: possible intended match here
# | --- !Missed
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/loop-interchange-optimization-remarks.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |             30: Pass: loop-interchange 
# |             31: Name: Dependence 
# |             32: Function: test03 
# |             33: Args: 
# |             34:  - String: Computed dependence info, invoking the transform. 
# |             35: ... 
# | check:221'0        X error: no match found
# |             36: --- !Analysis 
# | check:221'0     ~~~~~~~~~~~~~~
# |             37: Pass: loop-interchange 
# | check:221'0     ~~~~~~~~~~~~~~~~~~~~~~~
# |             38: Name: Dependence 
# | check:221'0     ~~~~~~~~~~~~~~~~~
# |             39: Function: test04 
# | check:221'0     ~~~~~~~~~~~~~~~~~
# |             40: Args: 
# | check:221'0     ~~~~~~
# |             41:  - String: Computed dependence info, invoking the transform. 
# | check:221'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             42: ... 
# | check:221'0     ~~~~
# |             43: --- !Missed 
# | check:221'0     ~~~~~~~~~~~~
# | check:221'1     ?            possible intended match
# |             44: Pass: loop-interchange 
# | check:221'0     ~~~~~~~~~~~~~~~~~~~~~~~
# |             45: Name: Dependence 
# | check:221'0     ~~~~~~~~~~~~~~~~~
# |             46: Function: test04 
# | check:221'0     ~~~~~~~~~~~~~~~~~
# |             47: Args: 
# | check:221'0     ~~~~~~
# |             48:  - String: All loops have dependencies in all directions. 
# | check:221'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             49: ... 
# | check:221'0     ~~~~
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/loopnest-with-outer-btc0.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/loopnest-with-outer-btc0.ll -passes=loop-interchange -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/loopnest-with-outer-btc0.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/loopnest-with-outer-btc0.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/loopnest-with-outer-btc0.ll:26:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[INNER1_HEADER:.*]]
# |               ^
# | <stdin>:17:2: note: 'next' match was here
# |  br label %inner2.body
# |  ^
# | <stdin>:15:15: note: previous match ended here
# | inner1.header: ; preds = %for.inc12, %outer.header
# |               ^
# | <stdin>:16:1: note: non-matching line after previous match is here
# |  %j = phi i64 [ 0, %outer.header ], [ %inc13, %for.inc12 ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/loopnest-with-outer-btc0.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |          .
# |          .
# |          .
# |         12:  %i = phi i64 [ 0, %entry ], [ %inc16, %for.inc15 ] 
# |         13:  br label %inner1.header 
# |         14:  
# |         15: inner1.header: ; preds = %for.inc12, %outer.header 
# |         16:  %j = phi i64 [ 0, %outer.header ], [ %inc13, %for.inc12 ] 
# |         17:  br label %inner2.body 
# | next:26      !~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |         18:  
# |         19: inner2.body: ; preds = %inner2.body, %inner1.header 
# |         20:  %k = phi i64 [ 0, %inner1.header ], [ %inc, %inner2.body ] 
# |         21:  %arrayidx8 = getelementptr inbounds [100 x [100 x i32]], ptr @D, i64 %i, i64 %k, i64 %j 
# |         22:  %0 = load i32, ptr %arrayidx8, align 4 
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/memory-instr-ratio.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/memory-instr-ratio.ll -passes=loop-interchange -S -loop-interchange-profitabilities=ignore           -loop-interchange-max-mem-instr-ratio=1 | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/memory-instr-ratio.ll --check-prefixes=CHECK,CHECK-RATIO-1
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -S -loop-interchange-profitabilities=ignore -loop-interchange-max-mem-instr-ratio=1
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/memory-instr-ratio.ll --check-prefixes=CHECK,CHECK-RATIO-1
# note: command had no output on stdout or stderr
# RUN: at line 4
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/memory-instr-ratio.ll -passes=loop-interchange -S -loop-interchange-profitabilities=ignore           -loop-interchange-max-mem-instr-ratio=100 | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/memory-instr-ratio.ll --check-prefixes=CHECK,CHECK-RATIO-100
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -S -loop-interchange-profitabilities=ignore -loop-interchange-max-mem-instr-ratio=100
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/memory-instr-ratio.ll --check-prefixes=CHECK,CHECK-RATIO-100
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/memory-instr-ratio.ll:43:25: error: CHECK-RATIO-100-NEXT: is not on the line after the previous match
# | ; CHECK-RATIO-100-NEXT: br label %[[LOOP_I_HEADER:.*]]
# |                         ^
# | <stdin>:10:2: note: 'next' match was here
# |  br label %loop.j
# |  ^
# | <stdin>:8:15: note: previous match ended here
# | loop.i.header: ; preds = %loop.i.latch, %entry
# |               ^
# | <stdin>:9:1: note: non-matching line after previous match is here
# |  %i = phi i64 [ 0, %entry ], [ %i.inc, %loop.i.latch ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/memory-instr-ratio.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |          .
# |          .
# |          .
# |          5: entry: 
# |          6:  br label %loop.i.header 
# |          7:  
# |          8: loop.i.header: ; preds = %loop.i.latch, %entry 
# |          9:  %i = phi i64 [ 0, %entry ], [ %i.inc, %loop.i.latch ] 
# |         10:  br label %loop.j 
# | next:43      !~~~~~~~~~~~~~~~  error: match on wrong line
# |         11:  
# |         12: loop.j: ; preds = %loop.j, %loop.i.header 
# |         13:  %j = phi i64 [ 0, %loop.i.header ], [ %j.inc, %loop.j ] 
# |         14:  %gep = getelementptr [10 x i8], ptr %A, i64 %j, i64 %i 
# |         15:  store i8 0, ptr %gep, align 1 
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/ninf.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/ninf.ll -passes=loop-interchange -loop-interchange-profitabilities=ignore -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/ninf.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -loop-interchange-profitabilities=ignore -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/ninf.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/ninf.ll:23:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_I_HEADER:.*]]
# |               ^
# | <stdin>:11:2: note: 'next' match was here
# |  br label %for.j
# |  ^
# | <stdin>:8:14: note: previous match ended here
# | for.i.header: ; preds = %for.i.latch, %entry
# |              ^
# | <stdin>:9:1: note: non-matching line after previous match is here
# |  %i = phi i64 [ 0, %entry ], [ %i.inc, %for.i.latch ]
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/ninf.ll:96:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_I_HEADER:.*]]
# |               ^
# | <stdin>:40:2: note: 'next' match was here
# |  br label %for.j
# |  ^
# | <stdin>:38:14: note: previous match ended here
# | for.i.header: ; preds = %for.i.latch, %entry
# |              ^
# | <stdin>:39:1: note: non-matching line after previous match is here
# |  %i = phi i64 [ 0, %entry ], [ %i.inc, %for.i.latch ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/ninf.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |          .
# |          .
# |          .
# |          6:  br label %for.i.header 
# |          7:  
# |          8: for.i.header: ; preds = %for.i.latch, %entry 
# |          9:  %i = phi i64 [ 0, %entry ], [ %i.inc, %for.i.latch ] 
# |         10:  %sum.i = phi float [ 0.000000e+00, %entry ], [ %sum.i.next, %for.i.latch ] 
# |         11:  br label %for.j 
# | next:23      !~~~~~~~~~~~~~~  error: match on wrong line
# |         12:  
# |         13: for.j: ; preds = %for.j, %for.i.header 
# |         14:  %j = phi i64 [ 0, %for.i.header ], [ %j.inc, %for.j ] 
# |         15:  %sum.j = phi float [ %sum.i, %for.i.header ], [ %sum.j.next, %for.j ] 
# |         16:  %gep = getelementptr [2 x float], ptr %A, i64 %i, i64 %j 
# |          .
# |          .
# |          .
# |         35: entry: 
# |         36:  br label %for.i.header 
# |         37:  
# |         38: for.i.header: ; preds = %for.i.latch, %entry 
# |         39:  %i = phi i64 [ 0, %entry ], [ %i.inc, %for.i.latch ] 
# |         40:  br label %for.j 
# | next:96      !~~~~~~~~~~~~~~  error: match on wrong line
# |         41:  
# |         42: for.j: ; preds = %for.j, %for.i.header 
# |         43:  %j = phi i64 [ 0, %for.i.header ], [ %j.inc, %for.j ] 
# |         44:  %gep.A = getelementptr [2 x float], ptr %A, i64 %i, i64 %j 
# |         45:  %val.A = load float, ptr %gep.A, align 4 
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/non-phi-uses-lcssa-phi.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/non-phi-uses-lcssa-phi.ll -passes=loop-interchange -loop-interchange-profitabilities=ignore -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/non-phi-uses-lcssa-phi.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -loop-interchange-profitabilities=ignore -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/non-phi-uses-lcssa-phi.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/non-phi-uses-lcssa-phi.ll:15:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[OUTER_HEADER:.*]]
# |               ^
# | <stdin>:10:2: note: 'next' match was here
# |  br label %inner
# |  ^
# | <stdin>:8:14: note: previous match ended here
# | outer.header: ; preds = %outer.latch, %entry
# |              ^
# | <stdin>:9:1: note: non-matching line after previous match is here
# |  %i = phi i64 [ 0, %entry ], [ %i.next, %outer.latch ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/non-phi-uses-lcssa-phi.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |          .
# |          .
# |          .
# |          5: entry: 
# |          6:  br label %outer.header 
# |          7:  
# |          8: outer.header: ; preds = %outer.latch, %entry 
# |          9:  %i = phi i64 [ 0, %entry ], [ %i.next, %outer.latch ] 
# |         10:  br label %inner 
# | next:15      !~~~~~~~~~~~~~~  error: match on wrong line
# |         11:  
# |         12: inner: ; preds = %inner, %outer.header 
# |         13:  %j = phi i64 [ 0, %outer.header ], [ %j.next, %inner ] 
# |         14:  %ptr = getelementptr inbounds [100 x i32], ptr %A, i64 %j, i64 %i 
# |         15:  store i32 0, ptr %ptr, align 4 
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/not-interchanged-loop-nest-3.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/not-interchanged-loop-nest-3.ll -passes=loop-interchange -cache-line-size=64 -verify-dom-info -verify-loop-info -S 2>&1 | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/not-interchanged-loop-nest-3.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -cache-line-size=64 -verify-dom-info -verify-loop-info -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/not-interchanged-loop-nest-3.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/not-interchanged-loop-nest-3.ll:27:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_COND4_PREHEADER:.*]]
# |               ^
# | <stdin>:17:2: note: 'next' match was here
# |  br label %for.body6
# |  ^
# | <stdin>:15:21: note: previous match ended here
# | for.cond4.preheader: ; preds = %for.inc12, %for.cond1.preheader
# |                     ^
# | <stdin>:16:1: note: non-matching line after previous match is here
# |  %j.027 = phi i64 [ 0, %for.cond1.preheader ], [ %inc13, %for.inc12 ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/not-interchanged-loop-nest-3.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |          .
# |          .
# |          .
# |         12:  %i.028 = phi i64 [ 0, %entry ], [ %inc16, %for.inc15 ] 
# |         13:  br label %for.cond4.preheader 
# |         14:  
# |         15: for.cond4.preheader: ; preds = %for.inc12, %for.cond1.preheader 
# |         16:  %j.027 = phi i64 [ 0, %for.cond1.preheader ], [ %inc13, %for.inc12 ] 
# |         17:  br label %for.body6 
# | next:27      !~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |         18:  
# |         19: for.body6: ; preds = %for.body6, %for.cond4.preheader 
# |         20:  %k.026 = phi i64 [ 0, %for.cond4.preheader ], [ %inc, %for.body6 ] 
# |         21:  %arrayidx8 = getelementptr inbounds [100 x [100 x [100 x i32]]], ptr @D, i32 0, i64 %i.028, i64 %k.026, i64 %j.027 
# |         22:  %0 = load i32, ptr %arrayidx8, align 4 
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/perserve-lcssa.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/perserve-lcssa.ll -passes=loop-interchange -loop-interchange-profitabilities=ignore -loop-interchange-threshold=-100 -verify-loop-lcssa -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/perserve-lcssa.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -loop-interchange-profitabilities=ignore -loop-interchange-threshold=-100 -verify-loop-lcssa -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/perserve-lcssa.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/perserve-lcssa.ll:16:16: error: CHECK-LABEL: expected string not found in input
# | ; CHECK-LABEL: inner.body.split:
# |                ^
# | <stdin>:16:12: note: scanning from here
# | inner.body: ; preds = %inner.body, %outer.header
# |            ^
# | <stdin>:16:24: note: possible intended match here
# | inner.body: ; preds = %inner.body, %outer.header
# |                        ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/perserve-lcssa.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            11:  
# |            12: outer.header: ; preds = %outer.latch, %entry 
# |            13:  %iv.outer = phi i64 [ 0, %entry ], [ %iv.outer.next, %outer.latch ] 
# |            14:  br label %inner.body 
# |            15:  
# |            16: inner.body: ; preds = %inner.body, %outer.header 
# | label:16'0                X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | label:16'1                            ?                          possible intended match
# |            17:  %iv.inner = phi i64 [ 5, %outer.header ], [ %iv.inner.next, %inner.body ] 
# | label:16'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            18:  %v7 = getelementptr inbounds [10 x [10 x i32]], ptr @c, i64 0, i64 %iv.inner, i64 %iv.outer 
# | label:16'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            19:  store i32 0, ptr %v7, align 4 
# | label:16'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            20:  %iv.inner.next = add nsw i64 %iv.inner, -1 
# | label:16'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            21:  %v9 = icmp eq i64 %iv.inner, 0 
# | label:16'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/phi-to-phi.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/phi-to-phi.ll -passes=loop-interchange -loop-interchange-profitabilities=ignore -verify-dom-info -verify-loop-info -verify-scev -verify-loop-lcssa -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/phi-to-phi.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -loop-interchange-profitabilities=ignore -verify-dom-info -verify-loop-info -verify-scev -verify-loop-lcssa -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/phi-to-phi.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/phi-to-phi.ll:12:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[OUTER_HEADER:.*]]
# |               ^
# | <stdin>:10:2: note: 'next' match was here
# |  br label %inner
# |  ^
# | <stdin>:8:14: note: previous match ended here
# | outer.header: ; preds = %outer.latch, %entry
# |              ^
# | <stdin>:9:1: note: non-matching line after previous match is here
# |  %i = phi i64 [ 0, %entry ], [ %i.inc, %outer.latch ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/phi-to-phi.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |          .
# |          .
# |          .
# |          5: entry: 
# |          6:  br label %outer.header 
# |          7:  
# |          8: outer.header: ; preds = %outer.latch, %entry 
# |          9:  %i = phi i64 [ 0, %entry ], [ %i.inc, %outer.latch ] 
# |         10:  br label %inner 
# | next:12      !~~~~~~~~~~~~~~  error: match on wrong line
# |         11:  
# |         12: inner: ; preds = %inner, %outer.header 
# |         13:  %j = phi i64 [ 0, %outer.header ], [ %j.inc, %inner ] 
# |         14:  %k = phi i64 [ -1, %outer.header ], [ %j, %inner ] 
# |         15:  %gep = getelementptr [10 x i64], ptr %A, i64 %i, i64 %j 
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/pr43326-ideal-access-pattern.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/pr43326-ideal-access-pattern.ll -passes=loop-interchange -cache-line-size=64 -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/pr43326-ideal-access-pattern.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -cache-line-size=64 -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/pr43326-ideal-access-pattern.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/pr43326-ideal-access-pattern.ll:22:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_OUTERMOST_HEADER:.*]]
# |               ^
# | <stdin>:10:2: note: 'next' match was here
# |  br label %for.middle.header
# |  ^
# | <stdin>:8:22: note: previous match ended here
# | for.outermost.header: ; preds = %for.outermost.latch, %entry
# |                      ^
# | <stdin>:9:1: note: non-matching line after previous match is here
# |  %indvars.outermost = phi i64 [ 0, %entry ], [ %indvars.outermost.next, %for.outermost.latch ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/pr43326-ideal-access-pattern.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |          .
# |          .
# |          .
# |          5: entry: 
# |          6:  br label %for.outermost.header 
# |          7:  
# |          8: for.outermost.header: ; preds = %for.outermost.latch, %entry 
# |          9:  %indvars.outermost = phi i64 [ 0, %entry ], [ %indvars.outermost.next, %for.outermost.latch ] 
# |         10:  br label %for.middle.header 
# | next:22      !~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |         11:  
# |         12: for.cond.cleanup: ; preds = %for.outermost.latch 
# |         13:  ret void 
# |         14:  
# |         15: for.middle.header: ; preds = %for.middle.latch, %for.outermost.header 
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/pr43326.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/pr43326.ll -passes=loop-interchange -cache-line-size=64 -loop-interchange-profitabilities=ignore -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/pr43326.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -cache-line-size=64 -loop-interchange-profitabilities=ignore -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/pr43326.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/pr43326.ll:25:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[INNER1_HEADER:.*]]
# |               ^
# | <stdin>:30:2: note: 'next' match was here
# |  br label %inner2.header
# |  ^
# | <stdin>:26:15: note: previous match ended here
# | inner1.header: ; preds = %for.inc10, %outer.header
# |               ^
# | <stdin>:27:1: note: non-matching line after previous match is here
# |  %xor.lcssa9 = phi i32 [ %xor.lcssa.lcssa11, %outer.header ], [ %xor.lcssa, %for.inc10 ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/pr43326.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |          .
# |          .
# |          .
# |         25:  
# |         26: inner1.header: ; preds = %for.inc10, %outer.header 
# |         27:  %xor.lcssa9 = phi i32 [ %xor.lcssa.lcssa11, %outer.header ], [ %xor.lcssa, %for.inc10 ] 
# |         28:  %j = phi i8 [ 0, %outer.header ], [ %j.next, %for.inc10 ] 
# |         29:  %idxprom8 = sext i8 %j to i64 
# |         30:  br label %inner2.header 
# | next:25      !~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |         31:  
# |         32: inner2.header: ; preds = %for.inc, %inner1.header 
# |         33:  %xor5 = phi i32 [ %xor.lcssa9, %inner1.header ], [ %xor, %for.inc ] 
# |         34:  %k = phi i32 [ 0, %inner1.header ], [ %k.next, %for.inc ] 
# |         35:  %idxprom = sext i32 %k to i64 
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/pr45743-move-from-inner-preheader.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -cache-line-size=64 -S /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/pr45743-move-from-inner-preheader.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/pr45743-move-from-inner-preheader.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -cache-line-size=64 -S /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/pr45743-move-from-inner-preheader.ll
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/pr45743-move-from-inner-preheader.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/pr45743-move-from-inner-preheader.ll:25:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[OUTER_HEADER:.*]]
# |               ^
# | <stdin>:13:2: note: 'next' match was here
# |  br label %inner.ph
# |  ^
# | <stdin>:10:14: note: previous match ended here
# | outer.header: ; preds = %outer.latch, %bb
# |              ^
# | <stdin>:11:1: note: non-matching line after previous match is here
# |  %outer.iv = phi i64 [ 0, %bb ], [ %outer.iv.next, %outer.latch ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/pr45743-move-from-inner-preheader.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |          .
# |          .
# |          .
# |          8:  br label %outer.header 
# |          9:  
# |         10: outer.header: ; preds = %outer.latch, %bb 
# |         11:  %outer.iv = phi i64 [ 0, %bb ], [ %outer.iv.next, %outer.latch ] 
# |         12:  %outer.red = phi i32 [ 0, %bb ], [ %red.next.lcssa, %outer.latch ] 
# |         13:  br label %inner.ph 
# | next:25      !~~~~~~~~~~~~~~~~~  error: match on wrong line
# |         14:  
# |         15: inner.ph: ; preds = %outer.header 
# |         16:  %add = add nsw i64 %outer.iv, 9 
# |         17:  br label %inner 
# |         18:  
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/pr48212.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/pr48212.ll -passes=loop-interchange -cache-line-size=64 -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/pr48212.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -cache-line-size=64 -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/pr48212.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/pr48212.ll:12:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: [[K1_03:%.*]] = phi i32 [ 0, %[[L1]] ], [ [[INC7:%.*]], %[[FOR_INC6:.*]] ]
# |               ^
# | <stdin>:13:2: note: 'next' match was here
# |  %k1.03 = phi i32 [ 0, %L1 ], [ %inc7, %for.inc6 ]
# |  ^
# | <stdin>:11:10: note: previous match ended here
# | for.body: ; preds = %for.inc6, %L1
# |          ^
# | <stdin>:12:1: note: non-matching line after previous match is here
# |  %temp.04 = phi i32 [ undef, %L1 ], [ %temp.1.lcssa, %for.inc6 ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/pr48212.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |          .
# |          .
# |          .
# |          8: L1: ; preds = %entry 
# |          9:  br label %for.body 
# |         10:  
# |         11: for.body: ; preds = %for.inc6, %L1 
# |         12:  %temp.04 = phi i32 [ undef, %L1 ], [ %temp.1.lcssa, %for.inc6 ] 
# |         13:  %k1.03 = phi i32 [ 0, %L1 ], [ %inc7, %for.inc6 ] 
# | next:12      !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |         14:  br label %L2 
# |         15:  
# |         16: L2: ; preds = %for.body 
# |         17:  br label %for.body3 
# |         18:  
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/pr56275.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/pr56275.ll -aa-pipeline=basic-aa -passes=loop-interchange -cache-line-size=64 -verify-dom-info -verify-loop-info -verify-scev -verify-loop-lcssa -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/pr56275.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -aa-pipeline=basic-aa -passes=loop-interchange -cache-line-size=64 -verify-dom-info -verify-loop-info -verify-scev -verify-loop-lcssa -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/pr56275.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/pr56275.ll:27:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[LOOP1_HEADER:.*]]
# |               ^
# | <stdin>:14:2: note: 'next' match was here
# |  br label %loop2.header
# |  ^
# | <stdin>:10:14: note: previous match ended here
# | loop1.header: ; preds = %loop1.latch, %entry
# |              ^
# | <stdin>:11:1: note: non-matching line after previous match is here
# |  %i2 = phi i64 [ 1, %entry ], [ %i2.inc, %loop1.latch ]
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/pr56275.ll:109:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[LOOP1_HEADER:.*]]
# |               ^
# | <stdin>:49:2: note: 'next' match was here
# |  br label %loop2.header
# |  ^
# | <stdin>:45:14: note: previous match ended here
# | loop1.header: ; preds = %loop1.latch, %entry
# |              ^
# | <stdin>:46:1: note: non-matching line after previous match is here
# |  %i2 = phi i64 [ 1, %entry ], [ %i2.inc, %loop1.latch ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/pr56275.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |           .
# |           .
# |           .
# |           9:  
# |          10: loop1.header: ; preds = %loop1.latch, %entry 
# |          11:  %i2 = phi i64 [ 1, %entry ], [ %i2.inc, %loop1.latch ] 
# |          12:  %i2.st = add i64 %i2, 1 
# |          13:  %i2.ld = add i64 %i2, 0 
# |          14:  br label %loop2.header 
# | next:27       !~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |          15:  
# |          16: loop2.header: ; preds = %loop2.header, %loop1.header 
# |          17:  %i1 = phi i64 [ 1, %loop1.header ], [ %i1.inc, %loop2.header ] 
# |          18:  %i1.st = add i64 %i1, 0 
# |          19:  %i1.ld = add i64 %i1, 0 
# |           .
# |           .
# |           .
# |          44:  
# |          45: loop1.header: ; preds = %loop1.latch, %entry 
# |          46:  %i2 = phi i64 [ 1, %entry ], [ %i2.inc, %loop1.latch ] 
# |          47:  %i2.st = add i64 %i2, 1 
# |          48:  %i2.ld = add i64 %i2, 0 
# |          49:  br label %loop2.header 
# | next:109      !~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |          50:  
# |          51: loop2.header: ; preds = %loop2.header, %loop1.header 
# |          52:  %i1 = phi i64 [ 1, %loop1.header ], [ %i1.inc, %loop2.header ] 
# |          53:  %i1.st = add i64 %i1, 0 
# |          54:  %i1.ld = add i64 %i1, 0 
# |           .
# |           .
# |           .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/pr57148.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/pr57148.ll -passes=loop-interchange -loop-interchange-profitabilities=cache -loop-interchange-threshold=-100 -verify-dom-info -verify-loop-info -verify-scev -verify-loop-lcssa -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/pr57148.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -loop-interchange-profitabilities=cache -loop-interchange-threshold=-100 -verify-dom-info -verify-loop-info -verify-scev -verify-loop-lcssa -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/pr57148.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/pr57148.ll:18:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_BODY42:.*]]
# |               ^
# | <stdin>:16:2: note: 'next' match was here
# |  br label %for.cond37.preheader
# |  ^
# | <stdin>:14:22: note: previous match ended here
# | for.cond33.preheader: ; preds = %for.end67, %entry
# |                      ^
# | <stdin>:15:1: note: non-matching line after previous match is here
# |  %i.011 = phi i16 [ 0, %entry ], [ %inc69, %for.end67 ]
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/pr57148.ll:102:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_COND33_PREHEADER1:.*]]
# |               ^
# | <stdin>:57:2: note: 'next' match was here
# |  br label %for.cond37.preheader
# |  ^
# | <stdin>:55:22: note: previous match ended here
# | for.cond33.preheader: ; preds = %for.inc68, %entry
# |                      ^
# | <stdin>:56:1: note: non-matching line after previous match is here
# |  %i.166 = phi i16 [ %inc69, %for.inc68 ], [ 0, %entry ]
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/pr57148.ll:184:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_BODY42:.*]]
# |               ^
# | <stdin>:93:2: note: 'next' match was here
# |  br label %for.cond37.preheader
# |  ^
# | <stdin>:91:22: note: previous match ended here
# | for.cond33.preheader: ; preds = %for.end67, %entry
# |                      ^
# | <stdin>:92:1: note: non-matching line after previous match is here
# |  %i.011 = phi i16 [ 0, %entry ], [ %inc69, %for.end67 ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/pr57148.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |           .
# |           .
# |           .
# |          11: entry: 
# |          12:  br label %for.cond33.preheader 
# |          13:  
# |          14: for.cond33.preheader: ; preds = %for.end67, %entry 
# |          15:  %i.011 = phi i16 [ 0, %entry ], [ %inc69, %for.end67 ] 
# |          16:  br label %for.cond37.preheader 
# | next:18       !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |          17:  
# |          18: for.cond37.preheader: ; preds = %for.end64, %for.cond33.preheader 
# |          19:  %j.010 = phi i16 [ 0, %for.cond33.preheader ], [ %inc66, %for.end64 ] 
# |          20:  br label %for.body42 
# |          21:  
# |           .
# |           .
# |           .
# |          52: entry: 
# |          53:  br label %for.cond33.preheader 
# |          54:  
# |          55: for.cond33.preheader: ; preds = %for.inc68, %entry 
# |          56:  %i.166 = phi i16 [ %inc69, %for.inc68 ], [ 0, %entry ] 
# |          57:  br label %for.cond37.preheader 
# | next:102      !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |          58:  
# |          59: for.cond37.preheader: ; preds = %middle.block80, %for.cond33.preheader 
# |          60:  %j.165 = phi i16 [ 0, %for.cond33.preheader ], [ %inc66, %middle.block80 ] 
# |          61:  %arrayidx60 = getelementptr inbounds [2 x [4 x i32]], ptr @c, i16 0, i16 %i.166, i16 %j.165 
# |          62:  br label %vector.body85 
# |           .
# |           .
# |           .
# |          88: entry: 
# |          89:  br label %for.cond33.preheader 
# |          90:  
# |          91: for.cond33.preheader: ; preds = %for.end67, %entry 
# |          92:  %i.011 = phi i16 [ 0, %entry ], [ %inc69, %for.end67 ] 
# |          93:  br label %for.cond37.preheader 
# | next:184      !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |          94:  
# |          95: for.cond37.preheader: ; preds = %for.end64, %for.cond33.preheader 
# |          96:  %j.010 = phi i16 [ 0, %for.cond33.preheader ], [ %inc66, %for.end64 ] 
# |          97:  br label %for.cond38.preheader 
# |          98:  
# |           .
# |           .
# |           .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/profitability-instorder.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/profitability-instorder.ll -passes=loop-interchange -loop-interchange-profitabilities=instorder -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/profitability-instorder.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -loop-interchange-profitabilities=instorder -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/profitability-instorder.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/profitability-instorder.ll:16:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[LOOP_I_HEADER_PREHEADER:.*]]
# |               ^
# | <stdin>:10:2: note: 'next' match was here
# |  br label %loop.j
# |  ^
# | <stdin>:8:15: note: previous match ended here
# | loop.i.header: ; preds = %loop.i.latch, %entry
# |               ^
# | <stdin>:9:1: note: non-matching line after previous match is here
# |  %i = phi i64 [ 0, %entry ], [ %i.inc, %loop.i.latch ]
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/profitability-instorder.ll:82:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[LOOP_I_HEADER_PREHEADER:.*]]
# |               ^
# | <stdin>:37:2: note: 'next' match was here
# |  br label %loop.j
# |  ^
# | <stdin>:35:15: note: previous match ended here
# | loop.i.header: ; preds = %loop.i.latch, %entry
# |               ^
# | <stdin>:36:1: note: non-matching line after previous match is here
# |  %i = phi i64 [ 0, %entry ], [ %i.inc, %loop.i.latch ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/profitability-instorder.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |          .
# |          .
# |          .
# |          5: entry: 
# |          6:  br label %loop.i.header 
# |          7:  
# |          8: loop.i.header: ; preds = %loop.i.latch, %entry 
# |          9:  %i = phi i64 [ 0, %entry ], [ %i.inc, %loop.i.latch ] 
# |         10:  br label %loop.j 
# | next:16      !~~~~~~~~~~~~~~~  error: match on wrong line
# |         11:  
# |         12: loop.j: ; preds = %loop.j, %loop.i.header 
# |         13:  %j = phi i64 [ 0, %loop.i.header ], [ %j.inc, %loop.j ] 
# |         14:  %mul = mul i64 %j, 100 
# |         15:  %offset = add i64 %i, %mul 
# |          .
# |          .
# |          .
# |         32: entry: 
# |         33:  br label %loop.i.header 
# |         34:  
# |         35: loop.i.header: ; preds = %loop.i.latch, %entry 
# |         36:  %i = phi i64 [ 0, %entry ], [ %i.inc, %loop.i.latch ] 
# |         37:  br label %loop.j 
# | next:82      !~~~~~~~~~~~~~~~  error: match on wrong line
# |         38:  
# |         39: loop.j: ; preds = %loop.j, %loop.i.header 
# |         40:  %j = phi i64 [ 0, %loop.i.header ], [ %j.inc, %loop.j ] 
# |         41:  %j.rev = sub i64 9, %j 
# |         42:  %mul = mul i64 %j.rev, 100 
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/profitability-redundant-interchange.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/profitability-redundant-interchange.ll -passes=loop-interchange -cache-line-size=1 -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/profitability-redundant-interchange.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -cache-line-size=1 -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/profitability-redundant-interchange.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/profitability-redundant-interchange.ll:28:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_COND5_PREHEADER:.*]]
# |               ^
# | <stdin>:18:2: note: 'next' match was here
# |  br label %for.body8
# |  ^
# | <stdin>:15:21: note: previous match ended here
# | for.cond5.preheader: ; preds = %for.cond.cleanup7, %for.cond1.preheader
# |                     ^
# | <stdin>:16:1: note: non-matching line after previous match is here
# |  %indvars.iv41 = phi i64 [ 1, %for.cond1.preheader ], [ %indvars.iv.next42, %for.cond.cleanup7 ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/profitability-redundant-interchange.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |          .
# |          .
# |          .
# |         13:  br label %for.cond5.preheader 
# |         14:  
# |         15: for.cond5.preheader: ; preds = %for.cond.cleanup7, %for.cond1.preheader 
# |         16:  %indvars.iv41 = phi i64 [ 1, %for.cond1.preheader ], [ %indvars.iv.next42, %for.cond.cleanup7 ] 
# |         17:  %1 = add nsw i64 %indvars.iv41, -1 
# |         18:  br label %for.body8 
# | next:28      !~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |         19:  
# |         20: for.cond.cleanup3: ; preds = %for.cond.cleanup7 
# |         21:  %indvars.iv.next47 = add nuw nsw i64 %indvars.iv46, 1 
# |         22:  %exitcond50 = icmp ne i64 %indvars.iv.next47, 4 
# |         23:  br i1 %exitcond50, label %for.cond1.preheader, label %for.cond.cleanup 
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/profitability-vectorization-heuristic.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/profitability-vectorization-heuristic.ll -passes=loop-interchange -cache-line-size=64 -loop-interchange-profitabilities=vectorize -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/profitability-vectorization-heuristic.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -cache-line-size=64 -loop-interchange-profitabilities=vectorize -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/profitability-vectorization-heuristic.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/profitability-vectorization-heuristic.ll:25:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_I_HEADER:.*]]
# |               ^
# | <stdin>:16:2: note: 'next' match was here
# |  br label %for.j.body
# |  ^
# | <stdin>:14:14: note: previous match ended here
# | for.i.header: ; preds = %for.i.inc, %entry
# |              ^
# | <stdin>:15:1: note: non-matching line after previous match is here
# |  %i = phi i64 [ 1, %entry ], [ %i.next, %for.i.inc ]
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/profitability-vectorization-heuristic.ll:179:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_I_HEADER:.*]]
# |               ^
# | <stdin>:83:2: note: 'next' match was here
# |  br label %for.j.body
# |  ^
# | <stdin>:80:14: note: previous match ended here
# | for.i.header: ; preds = %for.i.inc, %entry
# |              ^
# | <stdin>:81:1: note: non-matching line after previous match is here
# |  %i = phi i64 [ 1, %entry ], [ %i.next, %for.i.inc ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/profitability-vectorization-heuristic.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |           .
# |           .
# |           .
# |          11: entry: 
# |          12:  br label %for.i.header 
# |          13:  
# |          14: for.i.header: ; preds = %for.i.inc, %entry 
# |          15:  %i = phi i64 [ 1, %entry ], [ %i.next, %for.i.inc ] 
# |          16:  br label %for.j.body 
# | next:25       !~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |          17:  
# |          18: for.j.body: ; preds = %for.j.body, %for.i.header 
# |          19:  %j = phi i64 [ 1, %for.i.header ], [ %j.next, %for.j.body ] 
# |          20:  %j.dec = add nsw i64 %j, -1 
# |          21:  %a.load.index = getelementptr inbounds nuw [256 x [256 x float]], ptr @A, i64 0, i64 %i, i64 %j.dec 
# |           .
# |           .
# |           .
# |          78:  br label %for.i.header 
# |          79:  
# |          80: for.i.header: ; preds = %for.i.inc, %entry 
# |          81:  %i = phi i64 [ 1, %entry ], [ %i.next, %for.i.inc ] 
# |          82:  %i.inc = add nuw nsw i64 %i, 1 
# |          83:  br label %for.j.body 
# | next:179      !~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |          84:  
# |          85: for.j.body: ; preds = %for.j.body, %for.i.header 
# |          86:  %j = phi i64 [ 1, %for.i.header ], [ %j.next, %for.j.body ] 
# |          87:  %j.dec = add nsw i64 %j, -1 
# |          88:  %a.load.index = getelementptr inbounds [256 x [256 x float]], ptr @A, i64 0, i64 %i, i64 %j.dec 
# |           .
# |           .
# |           .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/profitability-vectorization.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/profitability-vectorization.ll -passes=loop-interchange -cache-line-size=64      -loop-interchange-profitabilities=instorder -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --check-prefix=PROFIT-CACHE /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/profitability-vectorization.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -cache-line-size=64 -loop-interchange-profitabilities=instorder -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --check-prefix=PROFIT-CACHE /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/profitability-vectorization.ll
# note: command had no output on stdout or stderr
# RUN: at line 4
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/profitability-vectorization.ll -passes=loop-interchange -cache-line-size=64      -loop-interchange-profitabilities=vectorize,cache,instorder -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --check-prefix=PROFIT-VEC /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/profitability-vectorization.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -cache-line-size=64 -loop-interchange-profitabilities=vectorize,cache,instorder -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --check-prefix=PROFIT-VEC /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/profitability-vectorization.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/profitability-vectorization.ll:66:20: error: PROFIT-VEC-NEXT: is not on the line after the previous match
# | ; PROFIT-VEC-NEXT: br label %[[FOR_I_HEADER:.*]]
# |                    ^
# | <stdin>:17:2: note: 'next' match was here
# |  br label %for.j.body
# |  ^
# | <stdin>:15:14: note: previous match ended here
# | for.i.header: ; preds = %for.i.inc, %entry
# |              ^
# | <stdin>:16:1: note: non-matching line after previous match is here
# |  %i = phi i64 [ 0, %entry ], [ %i.next, %for.i.inc ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/profitability-vectorization.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |          .
# |          .
# |          .
# |         12: entry: 
# |         13:  br label %for.i.header 
# |         14:  
# |         15: for.i.header: ; preds = %for.i.inc, %entry 
# |         16:  %i = phi i64 [ 0, %entry ], [ %i.next, %for.i.inc ] 
# |         17:  br label %for.j.body 
# | next:66      !~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |         18:  
# |         19: for.j.body: ; preds = %for.j.body, %for.i.header 
# |         20:  %j = phi i64 [ 1, %for.i.header ], [ %j.next, %for.j.body ] 
# |         21:  %j.dec = add nsw i64 %j, -1 
# |         22:  %a.0.index = getelementptr inbounds nuw [256 x [256 x float]], ptr @A, i64 0, i64 %j.dec, i64 %i 
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/reduction-not-involve-innermost.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reduction-not-involve-innermost.ll -S -passes=loop-interchange        -loop-interchange-profitabilities=ignore | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reduction-not-involve-innermost.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -S -passes=loop-interchange -loop-interchange-profitabilities=ignore
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reduction-not-involve-innermost.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reduction-not-involve-innermost.ll:16:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[LOOP_I_HEADER:.*]]
# |               ^
# | <stdin>:11:2: note: 'next' match was here
# |  br label %loop.j.header
# |  ^
# | <stdin>:8:15: note: previous match ended here
# | loop.i.header: ; preds = %loop.i.latch, %entry
# |               ^
# | <stdin>:9:1: note: non-matching line after previous match is here
# |  %i = phi i64 [ 0, %entry ], [ %i.inc, %loop.i.latch ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reduction-not-involve-innermost.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |          .
# |          .
# |          .
# |          6:  br label %loop.i.header 
# |          7:  
# |          8: loop.i.header: ; preds = %loop.i.latch, %entry 
# |          9:  %i = phi i64 [ 0, %entry ], [ %i.inc, %loop.i.latch ] 
# |         10:  %red.i = phi i8 [ 0, %entry ], [ %red.j.next.lcssa, %loop.i.latch ] 
# |         11:  br label %loop.j.header 
# | next:16      !~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |         12:  
# |         13: loop.j.header: ; preds = %loop.j.latch, %loop.i.header 
# |         14:  %j = phi i64 [ 0, %loop.i.header ], [ %j.inc, %loop.j.latch ] 
# |         15:  %red.j = phi i8 [ %red.i, %loop.i.header ], [ %red.j.next, %loop.j.latch ] 
# |         16:  br label %loop.k 
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/reduction2mem-extra-lcssa.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 5
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reduction2mem-extra-lcssa.ll -passes=loop-interchange -loop-interchange-reduction-to-mem    -pass-remarks-missed=loop-interchange -pass-remarks-output=/home/gha/actions-runner/_work/llvm-project/llvm-project/build/test/Transforms/LoopInterchange/Output/reduction2mem-extra-lcssa.ll.tmp -S    | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck -check-prefix=IR /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reduction2mem-extra-lcssa.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -loop-interchange-reduction-to-mem -pass-remarks-missed=loop-interchange -pass-remarks-output=/home/gha/actions-runner/_work/llvm-project/llvm-project/build/test/Transforms/LoopInterchange/Output/reduction2mem-extra-lcssa.ll.tmp -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck -check-prefix=IR /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reduction2mem-extra-lcssa.ll
# note: command had no output on stdout or stderr
# RUN: at line 8
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --input-file=/home/gha/actions-runner/_work/llvm-project/llvm-project/build/test/Transforms/LoopInterchange/Output/reduction2mem-extra-lcssa.ll.tmp /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reduction2mem-extra-lcssa.ll
# 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/test/Transforms/LoopInterchange/Output/reduction2mem-extra-lcssa.ll.tmp /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reduction2mem-extra-lcssa.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reduction2mem-extra-lcssa.ll:10:10: error: CHECK: expected string not found in input
# | ; CHECK: --- !Missed
# |          ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/test/Transforms/LoopInterchange/Output/reduction2mem-extra-lcssa.ll.tmp:1:1: note: scanning from here
# | --- !Analysis
# | ^
# | 
# | Input file: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/test/Transforms/LoopInterchange/Output/reduction2mem-extra-lcssa.ll.tmp
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reduction2mem-extra-lcssa.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |           1: --- !Analysis 
# | check:10     X~~~~~~~~~~~~~ error: no match found
# |           2: Pass: loop-interchange 
# | check:10     ~~~~~~~~~~~~~~~~~~~~~~~
# |           3: Name: Dependence 
# | check:10     ~~~~~~~~~~~~~~~~~
# |           4: Function: reduction_lcssa_with_non_phi_user 
# | check:10     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           5: Args: 
# | check:10     ~~~~~~
# |           6:  - String: Computed dependence info, invoking the transform. 
# | check:10     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           7: ... 
# | check:10     ~~~~
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/reduction2mem.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 3
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reduction2mem.ll -passes="loop-interchange"  -loop-interchange-reduction-to-mem -loop-interchange-profitabilities=ignore -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reduction2mem.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -loop-interchange-reduction-to-mem -loop-interchange-profitabilities=ignore -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reduction2mem.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reduction2mem.ll:18:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[OUTERLOOP_HEADER:.*]]
# |               ^
# | <stdin>:13:2: note: 'next' match was here
# |  br label %innerloop
# |  ^
# | <stdin>:8:18: note: previous match ended here
# | outerloop_header: ; preds = %outerloop_latch, %entry
# |                  ^
# | <stdin>:9:1: note: non-matching line after previous match is here
# |  %index_i = phi i64 [ 0, %entry ], [ %index_i.next, %outerloop_latch ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reduction2mem.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |          .
# |          .
# |          .
# |          8: outerloop_header: ; preds = %outerloop_latch, %entry 
# |          9:  %index_i = phi i64 [ 0, %entry ], [ %index_i.next, %outerloop_latch ] 
# |         10:  %addr_s = getelementptr inbounds nuw double, ptr %s, i64 %index_i 
# |         11:  %invariant.gep.us = getelementptr inbounds nuw double, ptr %a, i64 %index_i 
# |         12:  %invariant.gep32.us = getelementptr inbounds nuw double, ptr %b, i64 %index_i 
# |         13:  br label %innerloop 
# | next:18      !~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |         14:  
# |         15: innerloop: ; preds = %innerloop, %outerloop_header 
# |         16:  %index_j = phi i64 [ 0, %outerloop_header ], [ %index_j.next, %innerloop ] 
# |         17:  %reduction = phi double [ 0.000000e+00, %outerloop_header ], [ %add, %innerloop ] 
# |         18:  %addr_a_j_i = getelementptr inbounds nuw [100 x double], ptr %invariant.gep.us, i64 %index_j 
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/reductions-across-inner-and-outer-loop.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reductions-across-inner-and-outer-loop.ll -passes=loop-interchange -cache-line-size=64 -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reductions-across-inner-and-outer-loop.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -cache-line-size=64 -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reductions-across-inner-and-outer-loop.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reductions-across-inner-and-outer-loop.ll:13:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR1_HEADER:.*]]
# |               ^
# | <stdin>:12:2: note: 'next' match was here
# |  br label %for2
# |  ^
# | <stdin>:9:13: note: previous match ended here
# | for1.header: ; preds = %for1.inc, %entry
# |             ^
# | <stdin>:10:1: note: non-matching line after previous match is here
# |  %indvars.iv23 = phi i64 [ 0, %entry ], [ %indvars.iv.next24, %for1.inc ]
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reductions-across-inner-and-outer-loop.ll:327:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[OUTER_HEADER:.*]]
# |               ^
# | <stdin>:167:2: note: 'next' match was here
# |  br label %for.body3
# |  ^
# | <stdin>:164:14: note: previous match ended here
# | outer.header: ; preds = %outer.inc, %entry
# |              ^
# | <stdin>:165:1: note: non-matching line after previous match is here
# |  %iv.outer = phi i64 [ 1, %entry ], [ %iv.outer.next, %outer.inc ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reductions-across-inner-and-outer-loop.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |           .
# |           .
# |           .
# |           7:  br label %for1.header 
# |           8:  
# |           9: for1.header: ; preds = %for1.inc, %entry 
# |          10:  %indvars.iv23 = phi i64 [ 0, %entry ], [ %indvars.iv.next24, %for1.inc ] 
# |          11:  %sum.outer = phi i64 [ 0, %entry ], [ %sum.inc.lcssa, %for1.inc ] 
# |          12:  br label %for2 
# | next:13       !~~~~~~~~~~~~~  error: match on wrong line
# |          13:  
# |          14: for2: ; preds = %for2, %for1.header 
# |          15:  %indvars.iv = phi i64 [ 0, %for1.header ], [ %indvars.iv.next.3, %for2 ] 
# |          16:  %sum.inner = phi i64 [ %sum.outer, %for1.header ], [ %sum.inc, %for2 ] 
# |          17:  %arrayidx = getelementptr inbounds [100 x [100 x i64]], ptr %Arr, i64 0, i64 %indvars.iv, i64 %indvars.iv23 
# |           .
# |           .
# |           .
# |         162:  br label %outer.header 
# |         163:  
# |         164: outer.header: ; preds = %outer.inc, %entry 
# |         165:  %iv.outer = phi i64 [ 1, %entry ], [ %iv.outer.next, %outer.inc ] 
# |         166:  %float.outer = phi float [ 1.000000e+00, %entry ], [ %float.inner.lcssa, %outer.inc ] 
# |         167:  br label %for.body3 
# | next:327      !~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |         168:  
# |         169: for.body3: ; preds = %for.body3, %outer.header 
# |         170:  %float.inner = phi float [ %float.outer, %outer.header ], [ %float.inner.inc.inc, %for.body3 ] 
# |         171:  %iv.inner = phi i64 [ %iv.inner.next, %for.body3 ], [ 1, %outer.header ] 
# |         172:  %arrayidx5 = getelementptr inbounds [100 x [100 x float]], ptr %Arr, i64 0, i64 %iv.inner, i64 %iv.outer 
# |           .
# |           .
# |           .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/reductions-non-wrapped-operations.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reductions-non-wrapped-operations.ll -passes=loop-interchange -cache-line-size=64 -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reductions-non-wrapped-operations.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -cache-line-size=64 -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reductions-non-wrapped-operations.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reductions-non-wrapped-operations.ll:17:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_I_HEADER:.*]]
# |               ^
# | <stdin>:11:2: note: 'next' match was here
# |  br label %for.j
# |  ^
# | <stdin>:8:14: note: previous match ended here
# | for.i.header: ; preds = %for.i.latch, %entry
# |              ^
# | <stdin>:9:1: note: non-matching line after previous match is here
# |  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ]
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reductions-non-wrapped-operations.ll:88:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_I_HEADER:.*]]
# |               ^
# | <stdin>:40:2: note: 'next' match was here
# |  br label %for.j
# |  ^
# | <stdin>:37:14: note: previous match ended here
# | for.i.header: ; preds = %for.i.latch, %entry
# |              ^
# | <stdin>:38:1: note: non-matching line after previous match is here
# |  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ]
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reductions-non-wrapped-operations.ll:159:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_I_HEADER:.*]]
# |               ^
# | <stdin>:69:2: note: 'next' match was here
# |  br label %for.j
# |  ^
# | <stdin>:66:14: note: previous match ended here
# | for.i.header: ; preds = %for.i.latch, %entry
# |              ^
# | <stdin>:67:1: note: non-matching line after previous match is here
# |  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ]
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reductions-non-wrapped-operations.ll:230:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_I_HEADER:.*]]
# |               ^
# | <stdin>:98:2: note: 'next' match was here
# |  br label %for.j
# |  ^
# | <stdin>:95:14: note: previous match ended here
# | for.i.header: ; preds = %for.i.latch, %entry
# |              ^
# | <stdin>:96:1: note: non-matching line after previous match is here
# |  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ]
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reductions-non-wrapped-operations.ll:303:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_I_HEADER:.*]]
# |               ^
# | <stdin>:128:2: note: 'next' match was here
# |  br label %for.j
# |  ^
# | <stdin>:125:14: note: previous match ended here
# | for.i.header: ; preds = %for.i.latch, %entry
# |              ^
# | <stdin>:126:1: note: non-matching line after previous match is here
# |  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ]
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reductions-non-wrapped-operations.ll:376:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_I_HEADER:.*]]
# |               ^
# | <stdin>:158:2: note: 'next' match was here
# |  br label %for.j
# |  ^
# | <stdin>:155:14: note: previous match ended here
# | for.i.header: ; preds = %for.i.latch, %entry
# |              ^
# | <stdin>:156:1: note: non-matching line after previous match is here
# |  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ]
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reductions-non-wrapped-operations.ll:449:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_I_HEADER:.*]]
# |               ^
# | <stdin>:188:2: note: 'next' match was here
# |  br label %for.j
# |  ^
# | <stdin>:185:14: note: previous match ended here
# | for.i.header: ; preds = %for.i.latch, %entry
# |              ^
# | <stdin>:186:1: note: non-matching line after previous match is here
# |  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reductions-non-wrapped-operations.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |           .
# |           .
# |           .
# |           6:  br label %for.i.header 
# |           7:  
# |           8: for.i.header: ; preds = %for.i.latch, %entry 
# |           9:  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ] 
# |          10:  %or.i = phi i32 [ 0, %entry ], [ %or.i.lcssa, %for.i.latch ] 
# |          11:  br label %for.j 
# | next:17       !~~~~~~~~~~~~~~  error: match on wrong line
# |          12:  
# |          13: for.j: ; preds = %for.j, %for.i.header 
# |          14:  %j = phi i32 [ 0, %for.i.header ], [ %j.inc, %for.j ] 
# |          15:  %or.j = phi i32 [ %or.i, %for.i.header ], [ %or.j.next, %for.j ] 
# |          16:  %idx = getelementptr inbounds [2 x [2 x i32]], ptr %A, i32 0, i32 %j, i32 %i 
# |           .
# |           .
# |           .
# |          35:  br label %for.i.header 
# |          36:  
# |          37: for.i.header: ; preds = %for.i.latch, %entry 
# |          38:  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ] 
# |          39:  %and.i = phi i32 [ -1, %entry ], [ %and.i.lcssa, %for.i.latch ] 
# |          40:  br label %for.j 
# | next:88       !~~~~~~~~~~~~~~  error: match on wrong line
# |          41:  
# |          42: for.j: ; preds = %for.j, %for.i.header 
# |          43:  %j = phi i32 [ 0, %for.i.header ], [ %j.inc, %for.j ] 
# |          44:  %and.j = phi i32 [ %and.i, %for.i.header ], [ %and.j.next, %for.j ] 
# |          45:  %idx = getelementptr inbounds [2 x [2 x i32]], ptr %A, i32 0, i32 %j, i32 %i 
# |           .
# |           .
# |           .
# |          64:  br label %for.i.header 
# |          65:  
# |          66: for.i.header: ; preds = %for.i.latch, %entry 
# |          67:  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ] 
# |          68:  %xor.i = phi i32 [ 0, %entry ], [ %xor.i.lcssa, %for.i.latch ] 
# |          69:  br label %for.j 
# | next:159      !~~~~~~~~~~~~~~  error: match on wrong line
# |          70:  
# |          71: for.j: ; preds = %for.j, %for.i.header 
# |          72:  %j = phi i32 [ 0, %for.i.header ], [ %j.inc, %for.j ] 
# |          73:  %xor.j = phi i32 [ %xor.i, %for.i.header ], [ %xor.j.next, %for.j ] 
# |          74:  %idx = getelementptr inbounds [2 x [2 x i32]], ptr %A, i32 0, i32 %j, i32 %i 
# |           .
# |           .
# |           .
# |          93:  br label %for.i.header 
# |          94:  
# |          95: for.i.header: ; preds = %for.i.latch, %entry 
# |          96:  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ] 
# |          97:  %smin.i = phi i32 [ %init, %entry ], [ %smin.i.lcssa, %for.i.latch ] 
# |          98:  br label %for.j 
# | next:230      !~~~~~~~~~~~~~~  error: match on wrong line
# |          99:  
# |         100: for.j: ; preds = %for.j, %for.i.header 
# |         101:  %j = phi i32 [ 0, %for.i.header ], [ %j.inc, %for.j ] 
# |         102:  %smin.j = phi i32 [ %smin.i, %for.i.header ], [ %smin.j.next, %for.j ] 
# |         103:  %idx = getelementptr inbounds [2 x [2 x i32]], ptr %A, i32 0, i32 %j, i32 %i 
# |           .
# |           .
# |           .
# |         123:  br label %for.i.header 
# |         124:  
# |         125: for.i.header: ; preds = %for.i.latch, %entry 
# |         126:  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ] 
# |         127:  %smax.i = phi i32 [ %init, %entry ], [ %smax.i.lcssa, %for.i.latch ] 
# |         128:  br label %for.j 
# | next:303      !~~~~~~~~~~~~~~  error: match on wrong line
# |         129:  
# |         130: for.j: ; preds = %for.j, %for.i.header 
# |         131:  %j = phi i32 [ 0, %for.i.header ], [ %j.inc, %for.j ] 
# |         132:  %smax.j = phi i32 [ %smax.i, %for.i.header ], [ %smax.j.next, %for.j ] 
# |         133:  %idx = getelementptr inbounds [2 x [2 x i32]], ptr %A, i32 0, i32 %j, i32 %i 
# |           .
# |           .
# |           .
# |         153:  br label %for.i.header 
# |         154:  
# |         155: for.i.header: ; preds = %for.i.latch, %entry 
# |         156:  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ] 
# |         157:  %umin.i = phi i32 [ %init, %entry ], [ %umin.i.lcssa, %for.i.latch ] 
# |         158:  br label %for.j 
# | next:376      !~~~~~~~~~~~~~~  error: match on wrong line
# |         159:  
# |         160: for.j: ; preds = %for.j, %for.i.header 
# |         161:  %j = phi i32 [ 0, %for.i.header ], [ %j.inc, %for.j ] 
# |         162:  %umin.j = phi i32 [ %umin.i, %for.i.header ], [ %umin.j.next, %for.j ] 
# |         163:  %idx = getelementptr inbounds [2 x [2 x i32]], ptr %A, i32 0, i32 %j, i32 %i 
# |           .
# |           .
# |           .
# |         183:  br label %for.i.header 
# |         184:  
# |         185: for.i.header: ; preds = %for.i.latch, %entry 
# |         186:  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ] 
# |         187:  %umax.i = phi i32 [ 0, %entry ], [ %umax.i.lcssa, %for.i.latch ] 
# |         188:  br label %for.j 
# | next:449      !~~~~~~~~~~~~~~  error: match on wrong line
# |         189:  
# |         190: for.j: ; preds = %for.j, %for.i.header 
# |         191:  %j = phi i32 [ 0, %for.i.header ], [ %j.inc, %for.j ] 
# |         192:  %umax.j = phi i32 [ %umax.i, %for.i.header ], [ %umax.j.next, %for.j ] 
# |         193:  %idx = getelementptr inbounds [2 x [2 x i32]], ptr %A, i32 0, i32 %j, i32 %i 
# |           .
# |           .
# |           .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/reductions-with-nowraps.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -cache-line-size=64 -S < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reductions-with-nowraps.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reductions-with-nowraps.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -cache-line-size=64 -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reductions-with-nowraps.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reductions-with-nowraps.ll:17:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_I_HEADER:.*]]
# |               ^
# | <stdin>:11:2: note: 'next' match was here
# |  br label %for.j
# |  ^
# | <stdin>:8:14: note: previous match ended here
# | for.i.header: ; preds = %for.i.latch, %entry
# |              ^
# | <stdin>:9:1: note: non-matching line after previous match is here
# |  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ]
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reductions-with-nowraps.ll:88:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: br label %[[FOR_I_HEADER:.*]]
# |               ^
# | <stdin>:40:2: note: 'next' match was here
# |  br label %for.j
# |  ^
# | <stdin>:37:14: note: previous match ended here
# | for.i.header: ; preds = %for.i.latch, %entry
# |              ^
# | <stdin>:38:1: note: non-matching line after previous match is here
# |  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ]
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/reductions-with-nowraps.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |          .
# |          .
# |          .
# |          6:  br label %for.i.header 
# |          7:  
# |          8: for.i.header: ; preds = %for.i.latch, %entry 
# |          9:  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ] 
# |         10:  %sum.i = phi i32 [ 0, %entry ], [ %sum.i.lcssa, %for.i.latch ] 
# |         11:  br label %for.j 
# | next:17      !~~~~~~~~~~~~~~  error: match on wrong line
# |         12:  
# |         13: for.j: ; preds = %for.j, %for.i.header 
# |         14:  %j = phi i32 [ 0, %for.i.header ], [ %j.inc, %for.j ] 
# |         15:  %sum.j = phi i32 [ %sum.i, %for.i.header ], [ %sum.j.next, %for.j ] 
# |         16:  %idx = getelementptr inbounds [2 x [2 x i32]], ptr %A, i32 0, i32 %j, i32 %i 
# |          .
# |          .
# |          .
# |         35:  br label %for.i.header 
# |         36:  
# |         37: for.i.header: ; preds = %for.i.latch, %entry 
# |         38:  %i = phi i32 [ 0, %entry ], [ %i.inc, %for.i.latch ] 
# |         39:  %prod.i = phi i32 [ 1, %entry ], [ %prod.i.lcssa, %for.i.latch ] 
# |         40:  br label %for.j 
# | next:88      !~~~~~~~~~~~~~~  error: match on wrong line
# |         41:  
# |         42: for.j: ; preds = %for.j, %for.i.header 
# |         43:  %j = phi i32 [ 0, %for.i.header ], [ %j.inc, %for.j ] 
# |         44:  %prod.j = phi i32 [ %prod.i, %for.i.header ], [ %prod.j.next, %for.j ] 
# |         45:  %idx = getelementptr inbounds [2 x [2 x i32]], ptr %A, i32 0, i32 %j, i32 %i 
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopInterchange/update-condbranch-duplicate-successors.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -cache-line-size=64 -S /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/update-condbranch-duplicate-successors.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/update-condbranch-duplicate-successors.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-interchange -cache-line-size=64 -S /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/update-condbranch-duplicate-successors.ll
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/update-condbranch-duplicate-successors.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/update-condbranch-duplicate-successors.ll:20:10: error: CHECK: expected string not found in input
# | ; CHECK: [[INNER_HEADER_PREHEADER]]:
# |          ^
# | <stdin>:15:24: note: scanning from here
# |  br label %inner.header
# |                        ^
# | <stdin>:15:24: note: with "INNER_HEADER_PREHEADER" equal to "outer.ph"
# |  br label %inner.header
# |                        ^
# | <stdin>:17:13: note: possible intended match here
# | inner.header: ; preds = %inner.header, %outer.header
# |             ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/update-condbranch-duplicate-successors.ll:91:10: error: CHECK: expected string not found in input
# | ; CHECK: [[INNER_HEADER_PREHEADER]]:
# |          ^
# | <stdin>:51:74: note: scanning from here
# |  br i1 %cmp, label %inner.header.preheader, label %inner.header.preheader
# |                                                                          ^
# | <stdin>:51:74: note: with "INNER_HEADER_PREHEADER" equal to "outer.header.preheader"
# |  br i1 %cmp, label %inner.header.preheader, label %inner.header.preheader
# |                                                                          ^
# | <stdin>:53:23: note: possible intended match here
# | inner.header.preheader: ; preds = %outer.header, %outer.header
# |                       ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopInterchange/update-condbranch-duplicate-successors.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            10: outer.ph: ; preds = %entry, %entry 
# |            11:  br label %outer.header 
# |            12:  
# |            13: outer.header: ; preds = %outer.latch, %outer.ph 
# |            14:  %outer.iv = phi i64 [ 0, %outer.ph ], [ %outer.iv.next, %outer.latch ] 
# |            15:  br label %inner.header 
# | check:20'0                            X error: no match found
# | check:20'1                              with "INNER_HEADER_PREHEADER" equal to "outer.ph"
# |            16:  
# | check:20'0     ~
# |            17: inner.header: ; preds = %inner.header, %outer.header 
# | check:20'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:20'2                 ?                                         possible intended match
# |            18:  %inner.iv = phi i64 [ %inner.iv.next, %inner.header ], [ 5, %outer.header ] 
# | check:20'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            19:  %ptr = getelementptr inbounds [1000 x [1000 x i32]], ptr @global, i64 0, i64 %inner.iv, i64 %outer.iv 
# | check:20'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            20:  %lv = load i32, ptr %ptr, align 4 
# | check:20'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            21:  %v = mul i32 %lv, 100 
# | check:20'0     ~~~~~~~~~~~~~~~~~~~~~~~
# |            22:  store i32 %v, ptr %ptr, align 4 
# | check:20'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |            46: outer.header.preheader: ; preds = %outer.ph, %outer.ph 
# |            47:  br label %outer.header 
# |            48:  
# |            49: outer.header: ; preds = %outer.header.preheader, %outer.latch 
# |            50:  %outer.iv = phi i64 [ %outer.iv.next, %outer.latch ], [ 0, %outer.header.preheader ] 
# |            51:  br i1 %cmp, label %inner.header.preheader, label %inner.header.preheader 
# | check:91'0                                                                              X error: no match found
# | check:91'1                                                                                with "INNER_HEADER_PREHEADER" equal to "outer.header.preheader"
# |            52:  
# | check:91'0     ~
# |            53: inner.header.preheader: ; preds = %outer.header, %outer.header 
# | check:91'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:91'2                           ?                                         possible intended match
# |            54:  br label %inner.header 
# | check:91'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |            55:  
# | check:91'0     ~
# |            56: inner.header: ; preds = %inner.header.preheader, %inner.header 
# | check:91'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            57:  %inner.iv = phi i64 [ %inner.iv.next, %inner.header ], [ 5, %inner.header.preheader ] 
# | check:91'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            58:  %ptr = getelementptr inbounds [1000 x [1000 x i32]], ptr @global, i64 0, i64 %inner.iv, i64 %outer.iv 
# | check:91'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/202751


More information about the llvm-branch-commits mailing list