CIRCT  20.0.0git
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 
25 namespace circt {
26 namespace 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.
31 mlir::OptionalParseResult
32 parseOptionalPropertyArray(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.
38 void 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.
Definition: DebugAnalysis.h:21