blob: 4bf56586fa9509c1c943ab2c2739c6c99059057a [file] [log] [blame]
//===- 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 summary = "Types and operations for async dialect";
let description = [{
This dialect contains operations for modeling asynchronous execution.
}];
let cppNamespace = "::mlir::async";
let extraClassDeclaration = [{
// The name of a unit attribute on funcs that are allowed to have a blocking
// async.runtime.await ops. Only useful in combination with
// 'eliminate-blocking-await-ops' option, which in absence of this attribute
// might convert a func to a coroutine.
static constexpr StringRef kAllowedToBlockAttrName = "async.allowed_to_block";
}];
}
#endif // ASYNC_DIALECT_TD