[llvm] [IR] Reject unhandled assume bundles and seperate them from normal attributes (PR #197007)

via llvm-commits llvm-commits at lists.llvm.org
Mon May 11 11:51:49 PDT 2026


github-actions[bot] wrote:

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

* 174104 tests passed
* 3327 tests skipped
* 2 tests failed

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

### LLVM
<details>
<summary>LLVM.Analysis/ValueTracking/assume-queries-counter.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/Analysis/ValueTracking/assume-queries-counter.ll -passes=instcombine --debug-counter=assume-queries-counter=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/Analysis/ValueTracking/assume-queries-counter.ll --check-prefixes=COUNTER1
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=instcombine --debug-counter=assume-queries-counter=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/Analysis/ValueTracking/assume-queries-counter.ll --check-prefixes=COUNTER1
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Analysis/ValueTracking/assume-queries-counter.ll:32:18: error: COUNTER1-NEXT: expected string not found in input
# | ; COUNTER1-NEXT: [[TMP2:%.*]] = icmp eq ptr [[TMP0:%.*]], null
# |                  ^
# | <stdin>:14:28: note: scanning from here
# | define dso_local i1 @test2(ptr readonly %0) {
# |                            ^
# | <stdin>:15:28: note: possible intended match here
# |  call void @llvm.assume(i1 true) [ "nonnull"(ptr %0) ]
# |                            ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Analysis/ValueTracking/assume-queries-counter.ll:57:18: error: COUNTER1-NEXT: expected string not found in input
# | ; COUNTER1-NEXT: [[TMP2:%.*]] = icmp eq ptr [[TMP0]], null
# |                  ^
# | <stdin>:27:3: note: scanning from here
# | A: ; preds = %B, %1
# |   ^
# | <stdin>:27:3: note: with "TMP0" equal to "%0"
# | A: ; preds = %B, %1
# |   ^
# | <stdin>:31:2: note: possible intended match here
# |  %3 = load i32, ptr %0, align 4
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Analysis/ValueTracking/assume-queries-counter.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            .
# |            .
# |            .
# |            9: define dso_local i1 @test1(ptr readonly %0) { 
# |           10:  call void @llvm.assume(i1 true) [ "nonnull"(ptr %0) ] 
# |           11:  ret i1 false 
# |           12: } 
# |           13:  
# |           14: define dso_local i1 @test2(ptr readonly %0) { 
# | next:32'0                                X~~~~~~~~~~~~~~~~~~ error: no match found
# |           15:  call void @llvm.assume(i1 true) [ "nonnull"(ptr %0) ] 
# | next:32'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:32'1                                ?                            possible intended match
# |           16:  ret i1 false 
# | next:32'0     ~~~~~~~~~~~~~~
# |           17: } 
# | next:32'0     ~~
# |           18:  
# | next:32'0     ~
# |           19: ; Function Attrs: nofree nosync 
# | next:32'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           20: define dso_local i32 @test4(ptr readonly %0, i1 %cond) #1 { 
# | next:32'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           21:  call void @llvm.assume(i1 true) [ "dereferenceable"(ptr %0, i32 4) ] 
# |           22:  br i1 %cond, label %A, label %B 
# |           23:  
# |           24: B: ; preds = %1 
# |           25:  br label %A 
# |           26:  
# |           27: A: ; preds = %B, %1 
# | next:57'0       X~~~~~~~~~~~~~~~~~ error: no match found
# | next:57'1                          with "TMP0" equal to "%0"
# |           28:  br i1 false, label %4, label %2 
# | next:57'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           29:  
# | next:57'0     ~
# |           30: 2: ; preds = %A 
# | next:57'0     ~~~~~~~~~~~~~~~~
# |           31:  %3 = load i32, ptr %0, align 4 
# | next:57'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:57'2      ?                               possible intended match
# |           32:  br label %4 
# | next:57'0     ~~~~~~~~~~~~~
# |           33:  
# | next:57'0     ~
# |           34: 4: ; preds = %2, %A 
# | next:57'0     ~~~~~~~~~~~~~~~~~~~~
# |           35:  %5 = phi i32 [ %3, %2 ], [ poison, %A ] 
# | next:57'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           36:  ret i32 %5 
# | next:57'0     ~~~~~~~~~~~~
# |            .
# |            .
# |            .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/InstCombine/test.ll</summary>

```
Test has no 'RUN:' line
```
</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/197007


More information about the llvm-commits mailing list