[Mlir-commits] [mlir] 8a7b0da - [mlir] Fully qualify MemoryEffects

Markus Böck llvmlistbot at llvm.org
Fri Jul 30 09:20:08 PDT 2021


Author: Markus Böck
Date: 2021-07-30T18:20:06+02:00
New Revision: 8a7b0dad9acea2b4ff29a7a8ec150cad922043e9

URL: https://github.com/llvm/llvm-project/commit/8a7b0dad9acea2b4ff29a7a8ec150cad922043e9
DIFF: https://github.com/llvm/llvm-project/commit/8a7b0dad9acea2b4ff29a7a8ec150cad922043e9.diff

LOG: [mlir] Fully qualify MemoryEffects

The effect name is used by tablegen when generating the getEffects method of the SideEffectInterfaces. It is currently unqualified even though the class is contained within the mlir namespace, leading to compiler errors when using namespace mlir; isn't used before including the generated cpp file.

This patch fixes that by simply fully qualifying the class name.

Differential Revision: https://reviews.llvm.org/D107171

Added: 
    

Modified: 
    mlir/include/mlir/Interfaces/SideEffectInterfaces.td
    mlir/test/mlir-tblgen/op-side-effects.td

Removed: 
    


################################################################################
diff  --git a/mlir/include/mlir/Interfaces/SideEffectInterfaces.td b/mlir/include/mlir/Interfaces/SideEffectInterfaces.td
index 9c4aee895c261..1c12a5a56e7f7 100644
--- a/mlir/include/mlir/Interfaces/SideEffectInterfaces.td
+++ b/mlir/include/mlir/Interfaces/SideEffectInterfaces.td
@@ -49,28 +49,28 @@ class MemoryEffects<list<MemoryEffect> effects = []>
 // resource. An 'allocate' effect implies only allocation of the resource, and
 // not any visible mutation or dereference.
 class MemAlloc<Resource resource>
-  : MemoryEffect<"MemoryEffects::Allocate", resource>;
+  : MemoryEffect<"::mlir::MemoryEffects::Allocate", resource>;
 def MemAlloc : MemAlloc<DefaultResource>;
 
 // The following effect indicates that the operation frees some resource that
 // has been allocated. A 'free' effect implies only de-allocation of the
 // resource, and not any visible allocation, mutation or dereference.
 class MemFree<Resource resource>
-  : MemoryEffect<"MemoryEffects::Free", resource>;
+  : MemoryEffect<"::mlir::MemoryEffects::Free", resource>;
 def MemFree : MemFree<DefaultResource>;
 
 // The following effect indicates that the operation reads from some
 // resource. A 'read' effect implies only dereferencing of the resource, and
 // not any visible mutation.
 class MemRead<Resource resource>
-  : MemoryEffect<"MemoryEffects::Read", resource>;
+  : MemoryEffect<"::mlir::MemoryEffects::Read", resource>;
 def MemRead : MemRead<DefaultResource>;
 
 // The following effect indicates that the operation writes to some
 // resource. A 'write' effect implies only mutating a resource, and not any
 // visible dereference or read.
 class MemWrite<Resource resource>
-  : MemoryEffect<"MemoryEffects::Write", resource>;
+  : MemoryEffect<"::mlir::MemoryEffects::Write", resource>;
 def MemWrite : MemWrite<DefaultResource>;
 
 //===----------------------------------------------------------------------===//

diff  --git a/mlir/test/mlir-tblgen/op-side-effects.td b/mlir/test/mlir-tblgen/op-side-effects.td
index 9e97e904c7447..292fdfb7b3a38 100644
--- a/mlir/test/mlir-tblgen/op-side-effects.td
+++ b/mlir/test/mlir-tblgen/op-side-effects.td
@@ -25,13 +25,13 @@ def SideEffectOpB : TEST_Op<"side_effect_op_b",
 
 // CHECK: void SideEffectOpA::getEffects
 // CHECK:   for (::mlir::Value value : getODSOperands(0))
-// CHECK:     effects.emplace_back(MemoryEffects::Read::get(), value, ::mlir::SideEffects::DefaultResource::get());
-// CHECK:   effects.emplace_back(MemoryEffects::Read::get(), symbol(), ::mlir::SideEffects::DefaultResource::get());
-// CHECK:   effects.emplace_back(MemoryEffects::Write::get(), flat_symbol(), ::mlir::SideEffects::DefaultResource::get());
+// CHECK:     effects.emplace_back(::mlir::MemoryEffects::Read::get(), value, ::mlir::SideEffects::DefaultResource::get());
+// CHECK:   effects.emplace_back(::mlir::MemoryEffects::Read::get(), symbol(), ::mlir::SideEffects::DefaultResource::get());
+// CHECK:   effects.emplace_back(::mlir::MemoryEffects::Write::get(), flat_symbol(), ::mlir::SideEffects::DefaultResource::get());
 // CHECK:   if (auto symbolRef = optional_symbolAttr())
-// CHECK:     effects.emplace_back(MemoryEffects::Read::get(), symbolRef, ::mlir::SideEffects::DefaultResource::get());
+// CHECK:     effects.emplace_back(::mlir::MemoryEffects::Read::get(), symbolRef, ::mlir::SideEffects::DefaultResource::get());
 // CHECK:   for (::mlir::Value value : getODSResults(0))
-// CHECK:     effects.emplace_back(MemoryEffects::Allocate::get(), value, CustomResource::get());
+// CHECK:     effects.emplace_back(::mlir::MemoryEffects::Allocate::get(), value, CustomResource::get());
 
 // CHECK: void SideEffectOpB::getEffects
-// CHECK:   effects.emplace_back(MemoryEffects::Write::get(), CustomResource::get());
+// CHECK:   effects.emplace_back(::mlir::MemoryEffects::Write::get(), CustomResource::get());


        


More information about the Mlir-commits mailing list