================ @@ -60,8 +60,51 @@ def DeviceMappingAttrInterface : AttrInterface<"DeviceMappingAttrInterface"> { ]; } +def DeviceMaskingAttrInterface : AttrInterface<"DeviceMaskingAttrInterface"> { + let cppNamespace = "::mlir"; + let description = [{ + Attribute interface describing how to filter the processing units that a + region is mapped to. + + A popcount can be applied to determine the logical linear index that a + physical processing unit is responsible for. + }]; + + let methods = [ + InterfaceMethod< + /*desc=*/[{ + Return the logical active id for a given physical id. + Expects a physicalLinearMappingId of I64Type. + }], + /*retTy=*/"Value", + /*methodName=*/"getLogicalLinearMappingId", ---------------- ftynse wrote:
Optional naming nit: `bulidFoo` or `createFoo` instead of `getFoo` will make it clearer that some IR is being constructed. https://github.com/llvm/llvm-project/pull/146943 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits