unsigned argIdx,
NamedAttribute argAttr) {
// Check that llvm.noalias is a boolean attribute.
- if (argAttr.first == StringRef("llvm.noalias"))
- return (!argAttr.second.isa<BoolAttr>());
+ if (argAttr.first == "llvm.noalias" && !argAttr.second.isa<BoolAttr>())
+ return func->emitError(
+ "llvm.noalias argument attribute of non boolean type");
return false;
}
--- /dev/null
+// RUN: mlir-opt %s -verify
+
+// expected-error@+1{{llvm.noalias argument attribute of non boolean type}}
+func @invalid_noalias(%arg0: !llvm<"i32"> {llvm.noalias: 3}) {
+ "llvm.return"() : () -> ()
+}