[llvm] Prevent LCSSA from creating phi operands for lifetime intrinsics. (PR #172929)

via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 11 01:22:39 PDT 2026


github-actions[bot] wrote:

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

* 171072 tests passed
* 3023 tests skipped
* 1 test failed

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

### LLVM
<details>
<summary>LLVM.Transforms/LoopUnroll/unroll-alloca.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -unroll-allow-partial -unroll-runtime -passes="loop-unroll<O3>" -S < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopUnroll/unroll-alloca.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/LoopUnroll/unroll-alloca.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -unroll-allow-partial -unroll-runtime '-passes=loop-unroll<O3>' -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/LoopUnroll/unroll-alloca.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopUnroll/unroll-alloca.ll:37:14: error: CHECK-NOT: excluded string found in input
# | ; CHECK-NOT: call{{.*}}@llvm.lifetime
# |              ^
# | <stdin>:101:2: note: found here
# |  call void @llvm.lifetime.start.p0(ptr %alloca.epil)
# |  ^~~~~~~~~~~~~~~~~~~~~~~~
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopUnroll/unroll-alloca.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |         .
# |         .
# |         .
# |        96:  
# |        97: bb1.epil: ; preds = %bb1.epil, %bb1.epil.preheader 
# |        98:  %phic.epil = phi i32 [ %phic.epil.init, %bb1.epil.preheader ], [ %next.epil, %bb1.epil ] 
# |        99:  %epil.iter = phi i32 [ 0, %bb1.epil.preheader ], [ %epil.iter.next, %bb1.epil ] 
# |       100:  %alloca.epil = alloca i32, align 8 
# |       101:  call void @llvm.lifetime.start.p0(ptr %alloca.epil) 
# | not:37      !~~~~~~~~~~~~~~~~~~~~~~~                             error: no match expected
# |       102:  store i32 %phic.epil, ptr %alloca.epil, align 8 
# |       103:  %next.epil = add i32 %phic.epil, 1 
# |       104:  %cmp.epil = icmp ult i32 %next.epil, %max 
# |       105:  %epil.iter.next = add i32 %epil.iter, 1 
# |       106:  %epil.iter.cmp = icmp ne i32 %epil.iter.next, %xtraiter 
# |         .
# |         .
# |         .
# | >>>>>>
# `-----------------------------
# 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/172929


More information about the llvm-commits mailing list