@@ -1351,7 +1351,8 @@ static void printFModuleLikeOp(OpAsmPrinter &p, FModuleLike op) {
13511351 " sym_name" , " portDirections" , " portTypes" , " portAnnotations" ,
13521352 " portSymbols" , " portLocations" , " parameters" , visibilityAttrName};
13531353
1354- if (op.getConvention () == Convention::Internal)
1354+ if (op.getPortConvention () == Convention::Internal &&
1355+ op.getBodyConvention () == Convention::Internal)
13551356 omittedAttrs.push_back (" convention" );
13561357
13571358 // We can omit the portNames if they were able to be printed as properly as
@@ -1535,9 +1536,10 @@ ParseResult FModuleOp::parse(OpAsmParser &parser, OperationState &result) {
15351536 if (parseFModuleLikeOp (parser, result, /* hasSSAIdentifiers=*/ true ))
15361537 return failure ();
15371538 if (!result.attributes .get (" convention" ))
1538- result.addAttribute (
1539- " convention" ,
1540- ConventionAttr::get (result.getContext (), Convention::Internal));
1539+ result.addAttribute (" convention" ,
1540+ ConventionAttr::get (result.getContext (),
1541+ Convention::Internal,
1542+ Convention::Internal));
15411543 if (!result.attributes .get (" layers" ))
15421544 result.addAttribute (" layers" , ArrayAttr::get (parser.getContext (), {}));
15431545 return success ();
@@ -1547,9 +1549,10 @@ ParseResult FExtModuleOp::parse(OpAsmParser &parser, OperationState &result) {
15471549 if (parseFModuleLikeOp (parser, result, /* hasSSAIdentifiers=*/ false ))
15481550 return failure ();
15491551 if (!result.attributes .get (" convention" ))
1550- result.addAttribute (
1551- " convention" ,
1552- ConventionAttr::get (result.getContext (), Convention::Internal));
1552+ result.addAttribute (" convention" ,
1553+ ConventionAttr::get (result.getContext (),
1554+ Convention::Internal,
1555+ Convention::Internal));
15531556 return success ();
15541557}
15551558
@@ -1767,17 +1770,13 @@ ArrayAttr FMemModuleOp::getParameters() { return {}; }
17671770
17681771ArrayAttr FModuleOp::getParameters () { return {}; }
17691772
1770- Convention FIntModuleOp::getConvention () { return Convention::Internal; }
1773+ Convention FIntModuleOp::getPortConvention () { return Convention::Internal; }
17711774
1772- ConventionAttr FIntModuleOp::getConventionAttr () {
1773- return ConventionAttr::get (getContext (), getConvention ());
1774- }
1775+ Convention FIntModuleOp::getBodyConvention () { return Convention::Internal; }
17751776
1776- Convention FMemModuleOp::getConvention () { return Convention::Internal; }
1777+ Convention FMemModuleOp::getPortConvention () { return Convention::Internal; }
17771778
1778- ConventionAttr FMemModuleOp::getConventionAttr () {
1779- return ConventionAttr::get (getContext (), getConvention ());
1780- }
1779+ Convention FMemModuleOp::getBodyConvention () { return Convention::Internal; }
17811780
17821781// ===----------------------------------------------------------------------===//
17831782// ClassLike Helpers
@@ -2056,12 +2055,26 @@ void ClassOp::insertPorts(ArrayRef<std::pair<unsigned, PortInfo>> ports) {
20562055 ::insertPorts (cast<FModuleLike>((Operation *)*this), ports);
20572056}
20582057
2059- Convention ClassOp::getConvention () { return Convention::Internal; }
2058+ Convention FModuleOp::getPortConvention () {
2059+ return getConventionAttr ().getPortConvention ();
2060+ }
2061+
2062+ Convention FModuleOp::getBodyConvention () {
2063+ return getConventionAttr ().getBodyConvention ();
2064+ }
2065+
2066+ Convention FExtModuleOp::getPortConvention () {
2067+ return getConventionAttr ().getPortConvention ();
2068+ }
20602069
2061- ConventionAttr ClassOp::getConventionAttr () {
2062- return ConventionAttr::get ( getContext (), getConvention () );
2070+ Convention FExtModuleOp::getBodyConvention () {
2071+ return getConventionAttr (). getBodyConvention ( );
20632072}
20642073
2074+ Convention ClassOp::getPortConvention () { return Convention::Internal; }
2075+
2076+ Convention ClassOp::getBodyConvention () { return Convention::Internal; }
2077+
20652078ArrayAttr ClassOp::getParameters () { return {}; }
20662079
20672080ArrayAttr ClassOp::getPortAnnotationsAttr () {
@@ -2142,11 +2155,9 @@ void ExtClassOp::insertPorts(ArrayRef<std::pair<unsigned, PortInfo>> ports) {
21422155 ::insertPorts (cast<FModuleLike>((Operation *)*this), ports);
21432156}
21442157
2145- Convention ExtClassOp::getConvention () { return Convention::Internal; }
2158+ Convention ExtClassOp::getPortConvention () { return Convention::Internal; }
21462159
2147- ConventionAttr ExtClassOp::getConventionAttr () {
2148- return ConventionAttr::get (getContext (), getConvention ());
2149- }
2160+ Convention ExtClassOp::getBodyConvention () { return Convention::Internal; }
21502161
21512162ArrayAttr ExtClassOp::getLayersAttr () {
21522163 return ArrayAttr::get (getContext (), {});
0 commit comments