[Mlir-commits] [mlir] [mlir] Add emitRemark overload taking ArrayRef<Twine> (PR #217804)

lonely eagle llvmlistbot at llvm.org
Thu Aug 27 09:47:53 PDT 2026


linuxlonelyeagle wrote:

before use this and after use this method.

* before 
```
a.mlir:2:3: remark: WAR : [n0] -> { R0[d0, d1] -> W0[d0' = d1, d1' = d0] : 0 < d0 < n0 and d1 > d0 and 0 < d1 < n0; R0[d0, d1 = d0] -> W0[d0' = d0, d1' = d0] : 0 < d0 < n0 }
  affine.for %i = 0 to %arg1 {
  ^
a.mlir:2:3: note: see current operation: 
affine.for %arg2 = 0 to %arg1 {
  affine.for %arg3 = 1 to %arg1 {
    %0 = affine.load %arg0[%arg3, %arg2] : memref<?x?xf32>
    %1 = affine.load %arg0[%arg2, %arg3 - 1] : memref<?x?xf32>
    %2 = arith.addf %0, %0 : f32
    affine.store %2, %arg0[%arg2, %arg3] : memref<?x?xf32>
  }
}
a.mlir:2:3: remark: RAW : [n0] -> { W0[d0, d1] -> R0[d0' = d1, d1' = d0] : 0 < d0 < n0 and d1 > d0 and 0 < d1 < n0 }
  affine.for %i = 0 to %arg1 {
  ^
a.mlir:2:3: note: see current operation: 
affine.for %arg2 = 0 to %arg1 {
  affine.for %arg3 = 1 to %arg1 {
    %0 = affine.load %arg0[%arg3, %arg2] : memref<?x?xf32>
    %1 = affine.load %arg0[%arg2, %arg3 - 1] : memref<?x?xf32>
    %2 = arith.addf %0, %0 : f32
    affine.store %2, %arg0[%arg2, %arg3] : memref<?x?xf32>
  }
}
a.mlir:2:3: remark: RAW : [n0] -> { W0[d0, d1] -> R1[d0' = d0, d1' = 1 + d1] : 0 <= d0 < n0 and 0 < d1 <= -2 + n0 }
  affine.for %i = 0 to %arg1 {
  ^
a.mlir:2:3: note: see current operation: 
affine.for %arg2 = 0 to %arg1 {
  affine.for %arg3 = 1 to %arg1 {
    %0 = affine.load %arg0[%arg3, %arg2] : memref<?x?xf32>
    %1 = affine.load %arg0[%arg2, %arg3 - 1] : memref<?x?xf32>
    %2 = arith.addf %0, %0 : f32
    affine.store %2, %arg0[%arg2, %arg3] : memref<?x?xf32>
  }
```

* after use this
```
a.mlir:2:3: remark: WAR : [n0] -> { R0[d0, d1] -> W0[d0' = d1, d1' = d0] : 0 < d0 < n0 and d1 > d0 and 0 < d1 < n0; R0[d0, d1 = d0] -> W0[d0' = d0, d1' = d0] : 0 < d0 < n0 }
  affine.for %i = 0 to %arg1 {
  ^
a.mlir:2:3: remark: RAW : [n0] -> { W0[d0, d1] -> R0[d0' = d1, d1' = d0] : 0 < d0 < n0 and d1 > d0 and 0 < d1 < n0 }
  affine.for %i = 0 to %arg1 {
  ^
a.mlir:2:3: remark: RAW : [n0] -> { W0[d0, d1] -> R1[d0' = d0, d1' = 1 + d1] : 0 <= d0 < n0 and 0 < d1 <= -2 + n0 }
  affine.for %i = 0 to %arg1 {
  ^
a.mlir:2:3: note: see current operation: 
affine.for %arg2 = 0 to %arg1 {
  affine.for %arg3 = 1 to %arg1 {
    %0 = affine.load %arg0[%arg3, %arg2] : memref<?x?xf32>
    %1 = affine.load %arg0[%arg2, %arg3 - 1] : memref<?x?xf32>
    %2 = arith.addf %0, %0 : f32
    affine.store %2, %arg0[%arg2, %arg3] : memref<?x?xf32>
  }
}
```
I think this is what I actual needs. @matthias-springer 

https://github.com/llvm/llvm-project/pull/217804


More information about the Mlir-commits mailing list