[llvm-branch-commits] [mlir] [mlir][LLVM] Use a disjoint scope domain when inlining noalias (PR #218773)

via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Thu Sep 10 16:58:44 PDT 2026


github-actions[bot] wrote:

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

* 9011 tests passed
* 655 tests skipped
* 4 tests failed

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

### MLIR
<details>
<summary>MLIR.Dialect/LLVMIR/inlining-alias-scopes.mlir</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/LLVMIR/inlining-alias-scopes.mlir -inline -split-input-file | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/LLVMIR/inlining-alias-scopes.mlir
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/LLVMIR/inlining-alias-scopes.mlir -inline -split-input-file
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/LLVMIR/inlining-alias-scopes.mlir:275:24: error: custom op 'llvm.load' inherent attribute 'alignment' cannot be parsed from attr-dict when strict properties in assembly format is enabled
# |   %1 = llvm.load %arg0 {alias_scopes = [#alias_scope], alignment = 4 : i64} : !llvm.ptr -> f32
# |                        ^
# `-----------------------------
# error: command failed with exit status: 1
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/LLVMIR/inlining-alias-scopes.mlir
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/LLVMIR/inlining-alias-scopes.mlir:268:17: error: CHECK-LABEL: expected string not found in input
# | // CHECK-LABEL: llvm.func @foo_disjoint
# |                 ^
# | <stdin>:152:39: note: scanning from here
# |  llvm.func @missing_noalias_on_one_ptr(%arg0: !llvm.ptr, %arg1: !llvm.ptr, %arg2: !llvm.ptr) {
# |                                       ^
# | <stdin>:168:2: note: possible intended match here
# |  llvm.func @foo(%arg0: !llvm.ptr {llvm.noalias}, %arg1: !llvm.ptr {llvm.noalias}) {
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/LLVMIR/inlining-alias-scopes.mlir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |            147:  %0 = llvm.load %arg0 <alignment = 4> : !llvm.ptr -> f32 
# |            148:  %1 = llvm.getelementptr inbounds %arg1[5] : (!llvm.ptr) -> !llvm.ptr, f32 
# |            149:  llvm.store %0, %1 <alignment = 4> : f32, !llvm.ptr 
# |            150:  llvm.return 
# |            151:  } 
# |            152:  llvm.func @missing_noalias_on_one_ptr(%arg0: !llvm.ptr, %arg1: !llvm.ptr, %arg2: !llvm.ptr) { 
# | label:268'0                                          {                                                           search range start (exclusive)
# | label:268'1                                                                                                      error: no match found in search range
# |            153:  llvm.intr.experimental.noalias.scope.decl #alias_scope 
# |            154:  %0 = llvm.load %arg0 <alignment = 4, alias_scopes = [#alias_scope]> : !llvm.ptr -> f32 
# |            155:  %1 = llvm.getelementptr inbounds %arg2[5] : (!llvm.ptr) -> !llvm.ptr, f32 
# |            156:  llvm.store %0, %1 <alignment = 4, noalias_scopes = [#alias_scope]> : f32, !llvm.ptr 
# |            157:  llvm.return 
# |              .
# |              .
# |              .
# |            163: #alias_scope_domain = #llvm.alias_scope_domain<id = distinct[0]<>, disjointScopes = true, description = "foo"> 
# |            164: #alias_scope = #llvm.alias_scope<id = distinct[1]<>, domain = #alias_scope_domain> 
# |            165: #alias_scope1 = #llvm.alias_scope<id = distinct[2]<>, domain = #alias_scope_domain> 
# |            166: module { 
# |            167:  llvm.func @might_return_arg_derived(!llvm.ptr) -> !llvm.ptr 
# |            168:  llvm.func @foo(%arg0: !llvm.ptr {llvm.noalias}, %arg1: !llvm.ptr {llvm.noalias}) { 
# | label:268'2      ?                                                                                    possible intended match
# |            169:  %0 = llvm.mlir.constant(5 : i32) : i32 
# |            170:  %1 = llvm.call @might_return_arg_derived(%arg0) : (!llvm.ptr) -> !llvm.ptr 
# |            171:  llvm.store %0, %1 : i32, !llvm.ptr 
# |            172:  llvm.return 
# |            173:  } 
# |              .
# |              .
# |              .
# |            441:  %1 = llvm.load %0 : !llvm.ptr -> i32 
# |            442:  llvm.call @foo(%1) {noalias_scopes = [#alias_scope]} : (i32) -> () 
# |            443:  llvm.return 
# |            444:  } 
# |            445: } 
# |            446:  
# | label:268'3      } search range end (exclusive)
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>MLIR.Target/LLVMIR/Import/masked-intrinsic-metadata.ll</summary>

```
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-translate -import-llvm /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/Import/masked-intrinsic-metadata.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/Import/masked-intrinsic-metadata.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-translate -import-llvm /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/Import/masked-intrinsic-metadata.ll
# .---command stderr------------
# | second domain operand must be an i1 constant
# | !19 = distinct !{!19, !"domain"}
# | second domain operand must be an i1 constant
# | !19 = distinct !{!19, !"domain"}
# | second domain operand must be an i1 constant
# | !19 = distinct !{!19, !"domain"}
# | second domain operand must be an i1 constant
# | !19 = distinct !{!19, !"domain"}
# | second domain operand must be an i1 constant
# | !19 = distinct !{!19, !"domain"}
# | second domain operand must be an i1 constant
# | !19 = distinct !{!19, !"domain"}
# | second domain operand must be an i1 constant
# | !19 = distinct !{!19, !"domain"}
# | second domain operand must be an i1 constant
# | !19 = distinct !{!19, !"domain"}
# `-----------------------------
# error: command failed with exit status: 1
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/Import/masked-intrinsic-metadata.ll
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line:  /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/Import/masked-intrinsic-metadata.ll
# `-----------------------------
# error: command failed with exit status: 2

--

```
</details>
<details>
<summary>MLIR.Target/LLVMIR/attribute-alias-scopes.mlir</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-translate -mlir-to-llvmir -split-input-file /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/attribute-alias-scopes.mlir | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/attribute-alias-scopes.mlir
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-translate -mlir-to-llvmir -split-input-file /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/attribute-alias-scopes.mlir
# .---command stderr------------
# | within split at /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/attribute-alias-scopes.mlir:159 offset :11:24: error: custom op 'llvm.store' inherent attribute 'alias_scopes' cannot be parsed from attr-dict when strict properties in assembly format is enabled
# |   llvm.store %0, %arg1 {alias_scopes = [#alias_scope1]} : i32, !llvm.ptr
# |                        ^
# `-----------------------------
# error: command failed with exit status: 1
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/attribute-alias-scopes.mlir
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/attribute-alias-scopes.mlir:165:17: error: CHECK-LABEL: expected string not found in input
# | // CHECK-LABEL: @disjoint_alias_scopes
# |                 ^
# | <stdin>:99:26: note: scanning from here
# | define void @alias_scopes(ptr %0) {
# |                          ^
# | <stdin>:101:23: note: possible intended match here
# |  store i32 0, ptr %0, align 4, !alias.scope !1, !noalias !4
# |                       ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/attribute-alias-scopes.mlir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |             94: ; ModuleID = 'LLVMDialectModule' 
# |             95: source_filename = "LLVMDialectModule" 
# |             96:  
# |             97: declare void @foo(ptr) 
# |             98:  
# |             99: define void @alias_scopes(ptr %0) { 
# | label:165'0                             {             search range start (exclusive)
# | label:165'1                                           error: no match found in search range
# |            100:  call void @llvm.experimental.noalias.scope.decl(metadata !1) 
# |            101:  store i32 0, ptr %0, align 4, !alias.scope !1, !noalias !4 
# | label:165'2                           ?                                       possible intended match
# |            102:  %2 = load i32, ptr %0, align 4, !alias.scope !7, !noalias !8 
# |            103:  %3 = atomicrmw add ptr %0, i32 0 monotonic, align 4, !alias.scope !9, !noalias !10 
# |            104:  %4 = cmpxchg ptr %0, i32 %2, i32 %3 acq_rel monotonic, align 4, !alias.scope !9 
# |            105:  call void @llvm.memcpy.p0.p0.i32(ptr %0, ptr %0, i32 0, i1 false), !alias.scope !9 
# |            106:  call void @llvm.memset.p0.i32(ptr %0, i8 42, i32 0, i1 false), !noalias !9 
# |              .
# |              .
# |              .
# |            133: !6 = !{!"scope3", !3} 
# |            134: !7 = !{!5} 
# |            135: !8 = !{!2, !6} 
# |            136: !9 = !{!6} 
# |            137: !10 = !{!2, !5} 
# |            138:  
# | label:165'3      } search range end (exclusive)
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>MLIR.Target/LLVMIR/masked-intrinsic-metadata.mlir</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-translate -mlir-to-llvmir /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/masked-intrinsic-metadata.mlir | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/masked-intrinsic-metadata.mlir
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-translate -mlir-to-llvmir /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/masked-intrinsic-metadata.mlir
# 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/mlir/test/Target/LLVMIR/masked-intrinsic-metadata.mlir
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/masked-intrinsic-metadata.mlir:66:15: error: CHECK-DAG: expected string not found in input
# | // CHECK-DAG: ![[DOMAIN]] = distinct !{![[DOMAIN]], !"The domain"}
# |               ^
# | <stdin>:12:157: note: scanning from here
# |  call void @llvm.masked.scatter.v7f32.v7p0(<7 x float> %3, <7 x ptr> align 4 %0, <7 x i1> %1), !tbaa !1, !alias.scope !4, !noalias !7, !llvm.access.group !9
# |                                                                                                                                                             ^
# | <stdin>:12:157: note: with "DOMAIN" equal to "6"
# |  call void @llvm.masked.scatter.v7f32.v7p0(<7 x float> %3, <7 x ptr> align 4 %0, <7 x i1> %1), !tbaa !1, !alias.scope !4, !noalias !7, !llvm.access.group !9
# |                                                                                                                                                             ^
# | <stdin>:12:157: note: with "DOMAIN" equal to "6"
# |  call void @llvm.masked.scatter.v7f32.v7p0(<7 x float> %3, <7 x ptr> align 4 %0, <7 x i1> %1), !tbaa !1, !alias.scope !4, !noalias !7, !llvm.access.group !9
# |                                                                                                                                                             ^
# | <stdin>:40:1: note: possible intended match here
# | !5 = distinct !{!5, !6, !"The first scope"}
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/masked-intrinsic-metadata.mlir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |           .
# |           .
# |           .
# |           7:  ret void 
# |           8: } 
# |           9:  
# |          10: define void @masked_gather_scatter_metadata(<7 x ptr> %0, <7 x i1> %1) { 
# |          11:  %3 = call <7 x float> @llvm.masked.gather.v7f32.v7p0(<7 x ptr> align 4 %0, <7 x i1> %1, <7 x float> poison), !tbaa !1, !alias.scope !4, !noalias !7, !llvm.access.group !9 
# |          12:  call void @llvm.masked.scatter.v7f32.v7p0(<7 x float> %3, <7 x ptr> align 4 %0, <7 x i1> %1), !tbaa !1, !alias.scope !4, !noalias !7, !llvm.access.group !9 
# | dag:66'0                                                                                                                                                                {   search range start (exclusive)
# | dag:66'1                                                                                                                                                                    error: no match found in search range
# | dag:66'2                                                                                                                                                                    with "DOMAIN" equal to "6"
# | dag:66'3                                                                                                                                                                    with "DOMAIN" equal to "6"
# |          13:  ret void 
# |          14: } 
# |          15:  
# |          16: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: read) 
# |          17: declare <7 x float> @llvm.masked.load.v7f32.p0(ptr captures(none), <7 x i1>, <7 x float>) #0 
# |           .
# |           .
# |           .
# |          35: !0 = !{i32 2, !"Debug Info Version", i32 3} 
# |          36: !1 = !{!2, !2, i64 0} 
# |          37: !2 = !{!"int", !3, i64 0} 
# |          38: !3 = !{!"Simple C/C++ TBAA"} 
# |          39: !4 = !{!5} 
# |          40: !5 = distinct !{!5, !6, !"The first scope"} 
# | dag:66'4     ?                                             possible intended match
# |          41: !6 = distinct !{!6, i1 false, !"The domain"} 
# |          42: !7 = !{!8} 
# |          43: !8 = distinct !{!8, !6, !"The second scope"} 
# |          44: !9 = distinct !{} 
# | dag:66'5                       } search range end (exclusive)
# | >>>>>>
# `-----------------------------
# 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/218773


More information about the llvm-branch-commits mailing list