[llvm] [SCEV] Preserve recursion depth when folding zext (PR #202350)

via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 8 09:10:35 PDT 2026


github-actions[bot] wrote:

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

* 175220 tests passed
* 3445 tests skipped
* 1 test failed

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

### LLVM
<details>
<summary>LLVM.Transforms/IndVarSimplify/scev-update-loop-opt.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/IndVarSimplify/scev-update-loop-opt.ll -passes="loop(loop-idiom,indvars,loop-deletion,loop-unroll-full)" -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/IndVarSimplify/scev-update-loop-opt.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/IndVarSimplify/scev-update-loop-opt.ll '-passes=loop(loop-idiom,indvars,loop-deletion,loop-unroll-full)' -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/IndVarSimplify/scev-update-loop-opt.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/IndVarSimplify/scev-update-loop-opt.ll:13:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: [[TMP2:%.*]] = zext i32 [[CONV5]] to i64
# |               ^
# | <stdin>:15:2: note: 'next' match was here
# |  %wide.trip.count = zext i32 %conv5 to i64
# |  ^
# | <stdin>:8:25: note: previous match ended here
# |  %1 = zext i32 %0 to i64
# |                         ^
# | <stdin>:9:1: note: non-matching line after previous match is here
# |  br label %for.cond
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/IndVarSimplify/scev-update-loop-opt.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |          .
# |          .
# |          .
# |         10:  
# |         11: for.cond.loopexit: ; preds = %for.cond2 
# |         12:  br label %for.cond 
# |         13:  
# |         14: for.cond: ; preds = %for.cond.loopexit, %entry 
# |         15:  %wide.trip.count = zext i32 %conv5 to i64 
# | next:13      !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |         16:  br label %for.cond2 
# |         17:  
# |         18: for.cond2: ; preds = %for.cond.cleanup14, %for.cond 
# |         19:  %indvars.iv = phi i64 [ %indvars.iv.next, %for.cond.cleanup14 ], [ 0, %for.cond ] 
# |         20:  %exitcond = icmp ne i64 %indvars.iv, %wide.trip.count 
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# 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/202350


More information about the llvm-commits mailing list