[Mlir-commits] [mlir] [mlir][spirv] Support function argument decorations for ptr in the PhysicalStorageBuffer (PR #76353)
Lei Zhang
llvmlistbot at llvm.org
Fri Jan 5 14:50:01 PST 2024
================
@@ -972,8 +972,73 @@ void spirv::FuncOp::print(OpAsmPrinter &printer) {
}
LogicalResult spirv::FuncOp::verifyType() {
- if (getFunctionType().getNumResults() > 1)
+ FunctionType fnType = getFunctionType();
+ if (fnType.getNumResults() > 1)
return emitOpError("cannot have more than one result");
+
+ auto funcOp = dyn_cast<spirv::FuncOp>(getOperation());
+
+ auto hasDecorationAttr = [&](spirv::Decoration decoration,
+ unsigned argIndex) {
+ for (auto argAttr :
+ cast<FunctionOpInterface>(*funcOp).getArgAttrs(argIndex)) {
+ if (auto decAttr = dyn_cast<spirv::DecorationAttr>(argAttr.getValue()))
----------------
antiagainst wrote:
ah I meant adding a test like `%arg0: !spirv.ptr<..> { random_attr = #spirv.decoration<Aliased> }`.
https://github.com/llvm/llvm-project/pull/76353
More information about the Mlir-commits
mailing list