CIRCT 20.0.0git
Loading...
Searching...
No Matches
SSPAttributes.h
Go to the documentation of this file.
1//===- SSPAttributes.h - SSP attribute definitions --------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// This file defines the SSP (static scheduling problem) dialect attributes.
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef CIRCT_DIALECT_SSP_SSPATTRIBUTES_H
14#define CIRCT_DIALECT_SSP_SSPATTRIBUTES_H
15
18#include "circt/Support/LLVM.h"
19
20#include "mlir/IR/OpImplementation.h"
21
22#define GET_ATTRDEF_CLASSES
23#include "circt/Dialect/SSP/SSPAttributes.h.inc"
24
25namespace circt {
26namespace ssp {
27
28/// Parse an array of attributes while recognizing the properties of the SSP
29/// dialect even without a `#ssp.` prefix. Any attributes supplied in \p
30/// alreadyParsed are prepended to the parsed ones.
31mlir::OptionalParseResult
32parseOptionalPropertyArray(ArrayAttr &attr, AsmParser &parser,
33 ArrayRef<Attribute> alreadyParsed = {});
34
35/// Print an array attribute, suppressing the `#ssp.` prefix for properties
36/// defined in the SSP dialect. Attributes mentioned in \p alreadyPrinted are
37/// skipped.
38void printPropertyArray(ArrayAttr attr, AsmPrinter &p,
39 ArrayRef<Attribute> alreadyPrinted = {});
40
41} // namespace ssp
42} // namespace circt
43
44#endif // CIRCT_DIALECT_SSP_SSPATTRIBUTES_H
void printPropertyArray(ArrayAttr attr, AsmPrinter &p, ArrayRef< Attribute > alreadyPrinted={})
Print an array attribute, suppressing the #ssp.
mlir::OptionalParseResult parseOptionalPropertyArray(ArrayAttr &attr, AsmParser &parser, ArrayRef< Attribute > alreadyParsed={})
Parse an array of attributes while recognizing the properties of the SSP dialect even without a #ssp.
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.