//===- AsyncDialect.td -------------------------------------*- tablegen -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
//
// Async dialect definition.
//
//===----------------------------------------------------------------------===//
#ifndef ASYNC_DIALECT_TD
#define ASYNC_DIALECT_TD
include "mlir/IR/OpBase.td"
//===----------------------------------------------------------------------===//
// Async dialect definitions
//===----------------------------------------------------------------------===//
def AsyncDialect : Dialect {
let name = "async";
let cppNamespace = "::mlir::async";
let summary = "Types and operations for async dialect";
let description = [{
This dialect contains operations for modeling asynchronous execution.
}];
let useDefaultTypePrinterParser = 1;
let extraClassDeclaration = [{
/// The name of a unit attribute on funcs that are allowed to have a
/// blocking async.runtime.await ops. In absence of this attribute the
/// asyncification pass might convert a func to a coroutine.
static constexpr StringRef kAllowedToBlockAttrName =
"async.allowed_to_block";
}];
}
#endif // ASYNC_DIALECT_TD