[llvm] [InstCombine] Merge consecutive assumes (PR #204983)

via llvm-commits llvm-commits at lists.llvm.org
Sun Jun 21 09:11:07 PDT 2026


github-actions[bot] wrote:

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

* 175988 tests passed
* 3517 tests skipped
* 1 test failed

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

### LLVM
<details>
<summary>LLVM.Transforms/PhaseOrdering/AArch64/std-find.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -O3 -S /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/PhaseOrdering/AArch64/std-find.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/PhaseOrdering/AArch64/std-find.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -O3 -S /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/PhaseOrdering/AArch64/std-find.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/PhaseOrdering/AArch64/std-find.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/PhaseOrdering/AArch64/std-find.ll:247:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: call void @llvm.assume(i1 true) [ "align"(ptr [[FIRST]], i64 2) ]
# |               ^
# | <stdin>:195:7: note: scanning from here
# | entry:
# |       ^
# | <stdin>:195:7: note: with "FIRST" equal to "%first"
# | entry:
# |       ^
# | <stdin>:196:2: note: possible intended match here
# |  call void @llvm.assume(i1 true) [ "align"(ptr %first, i64 2), "align"(ptr %last, i64 2) ]
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/PhaseOrdering/AArch64/std-find.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           190:  ret i64 %res 
# |           191: } 
# |           192:  
# |           193: ; Function Attrs: nofree norecurse nosync nounwind memory(argmem: read, inaccessiblemem: write) 
# |           194: define noundef ptr @std_find_caller(ptr noundef %first, ptr noundef %last) local_unnamed_addr #0 { 
# |           195: entry: 
# | next:247'0           X error: no match found
# | next:247'1             with "FIRST" equal to "%first"
# |           196:  call void @llvm.assume(i1 true) [ "align"(ptr %first, i64 2), "align"(ptr %last, i64 2) ] 
# | next:247'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:247'2      ?                                                                                          possible intended match
# |           197:  %pre.i = icmp eq ptr %first, %last 
# | next:247'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           198:  br i1 %pre.i, label %std_find_generic_impl.exit, label %loop.header.i.preheader 
# | next:247'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           199:  
# | next:247'0     ~
# |           200: loop.header.i.preheader: ; preds = %entry 
# | next:247'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           201:  %last.i64 = ptrtoint ptr %last to i64 
# | next:247'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/204983


More information about the llvm-commits mailing list