Files
gps/tools/local/circt/include/mlir/Dialect/Complex/IR/ComplexBase.td
T
2026-07-12 11:01:51 +03:00

44 lines
1.4 KiB
TableGen

//===- ComplexBase.td - Base definitions for complex dialect -*- 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
//
//===----------------------------------------------------------------------===//
#ifndef COMPLEX_BASE
#define COMPLEX_BASE
include "mlir/IR/EnumAttr.td"
include "mlir/IR/OpBase.td"
def Complex_Dialect : Dialect {
let name = "complex";
let cppNamespace = "::mlir::complex";
let description = [{
The complex dialect is intended to hold complex numbers creation and
arithmetic ops.
}];
let dependentDialects = ["arith::ArithDialect"];
let hasConstantMaterializer = 1;
let useDefaultAttributePrinterParser = 1;
}
//===----------------------------------------------------------------------===//
// Complex_ComplexRangeFlags
//===----------------------------------------------------------------------===//
def Complex_CRF_improved : I32BitEnumAttrCaseBit<"improved", 0>;
def Complex_CRF_basic : I32BitEnumAttrCaseBit<"basic", 1>;
def Complex_CRF_none : I32BitEnumAttrCaseBit<"none", 2>;
def Complex_ComplexRangeFlags : I32BitEnumAttr<
"ComplexRangeFlags",
"Complex range flags",
[Complex_CRF_improved, Complex_CRF_basic, Complex_CRF_none]> {
let cppNamespace = "::mlir::complex";
}
#endif // COMPLEX_BASE