[Mlir-commits] [mlir] [mlir][gpu] Add field to mark asynchronous side effects (PR #72013)

Oleksandr Alex Zinenko llvmlistbot at llvm.org
Tue Nov 14 11:55:39 PST 2023


================
@@ -183,6 +184,9 @@ class SideEffect<EffectOpInterfaceBase interface, string effectName,
 
   // Does this side effect act on every single value of resource.
   bit effectOnFullRegion = range.Value;
+
+  // Does this side effect potentially occur after op exit
+  bit asynchronous = isAsync;
----------------
ftynse wrote:

Using a custom attribute (GpuAsyncAttr) that stores a `bool` (or even make it unit if that makes sense) rather than a `BoolAttr`. There was some previous patch where we discussed putting a `DictAttr` and using string keys.

Note that I'm not sure this is the right mechanism, it's conditioned on there being a way to interpret the absence of the attribute in a conservatively correct way. (The only user of the attribute I'm aware of so far is a downstream project that uses affine-ish descriptors of the subset of memref elements accessed, in absence of which analyses can just conservatively assume all elements are.)

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


More information about the Mlir-commits mailing list