[flang-commits] [flang] c692a11 - [mlir] Flip Async/GPU/MemRef/OpenACC/OpenMP/PDL dialects to prefixed

River Riddle via flang-commits flang-commits at lists.llvm.org
Fri Sep 30 16:56:57 PDT 2022


Author: River Riddle
Date: 2022-09-30T16:55:30-07:00
New Revision: c692a11e69d97d0ace89157515aefd103043d33a

URL: https://github.com/llvm/llvm-project/commit/c692a11e69d97d0ace89157515aefd103043d33a
DIFF: https://github.com/llvm/llvm-project/commit/c692a11e69d97d0ace89157515aefd103043d33a.diff

LOG: [mlir] Flip Async/GPU/MemRef/OpenACC/OpenMP/PDL dialects to prefixed

This flips all of the remaining dialects to prefixed except for linalg, which
will be done in a followup.

Differential Revision: https://reviews.llvm.org/D134995

Added: 
    

Modified: 
    flang/lib/Lower/OpenACC.cpp
    flang/lib/Lower/OpenMP.cpp
    flang/lib/Optimizer/Transforms/AffineDemotion.cpp
    mlir/include/mlir/Dialect/Async/IR/AsyncDialect.td
    mlir/include/mlir/Dialect/GPU/IR/GPUBase.td
    mlir/include/mlir/Dialect/MemRef/IR/MemRefBase.td
    mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
    mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    mlir/include/mlir/Dialect/PDL/IR/PDLDialect.td
    mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
    mlir/lib/Dialect/MemRef/Transforms/SimplifyExtractStridedMetadata.cpp

Removed: 
    


################################################################################
diff  --git a/flang/lib/Lower/OpenACC.cpp b/flang/lib/Lower/OpenACC.cpp
index 89c7d005ca350..a0d7f8863bf00 100644
--- a/flang/lib/Lower/OpenACC.cpp
+++ b/flang/lib/Lower/OpenACC.cpp
@@ -820,9 +820,9 @@ genACCEnterDataOp(Fortran::lower::AbstractConverter &converter,
       firOpBuilder, currentLocation, operands, operandSegments);
 
   if (addAsyncAttr)
-    enterDataOp.asyncAttr(firOpBuilder.getUnitAttr());
+    enterDataOp.setAsyncAttr(firOpBuilder.getUnitAttr());
   if (addWaitAttr)
-    enterDataOp.waitAttr(firOpBuilder.getUnitAttr());
+    enterDataOp.setWaitAttr(firOpBuilder.getUnitAttr());
 }
 
 static void
@@ -896,11 +896,11 @@ genACCExitDataOp(Fortran::lower::AbstractConverter &converter,
       firOpBuilder, currentLocation, operands, operandSegments);
 
   if (addAsyncAttr)
-    exitDataOp.asyncAttr(firOpBuilder.getUnitAttr());
+    exitDataOp.setAsyncAttr(firOpBuilder.getUnitAttr());
   if (addWaitAttr)
-    exitDataOp.waitAttr(firOpBuilder.getUnitAttr());
+    exitDataOp.setWaitAttr(firOpBuilder.getUnitAttr());
   if (addFinalizeAttr)
-    exitDataOp.finalizeAttr(firOpBuilder.getUnitAttr());
+    exitDataOp.setFinalizeAttr(firOpBuilder.getUnitAttr());
 }
 
 template <typename Op>
@@ -1010,11 +1010,11 @@ genACCUpdateOp(Fortran::lower::AbstractConverter &converter,
       firOpBuilder, currentLocation, operands, operandSegments);
 
   if (addAsyncAttr)
-    updateOp.asyncAttr(firOpBuilder.getUnitAttr());
+    updateOp.setAsyncAttr(firOpBuilder.getUnitAttr());
   if (addWaitAttr)
-    updateOp.waitAttr(firOpBuilder.getUnitAttr());
+    updateOp.setWaitAttr(firOpBuilder.getUnitAttr());
   if (addIfPresentAttr)
-    updateOp.ifPresentAttr(firOpBuilder.getUnitAttr());
+    updateOp.setIfPresentAttr(firOpBuilder.getUnitAttr());
 }
 
 static void
@@ -1116,7 +1116,7 @@ static void genACC(Fortran::lower::AbstractConverter &converter,
       firOpBuilder, currentLocation, operands, operandSegments);
 
   if (addAsyncAttr)
-    waitOp.asyncAttr(firOpBuilder.getUnitAttr());
+    waitOp.setAsyncAttr(firOpBuilder.getUnitAttr());
 }
 
 void Fortran::lower::genOpenACCConstruct(

diff  --git a/flang/lib/Lower/OpenMP.cpp b/flang/lib/Lower/OpenMP.cpp
index ae21ae9c02169..cf7b54d2c1dab 100644
--- a/flang/lib/Lower/OpenMP.cpp
+++ b/flang/lib/Lower/OpenMP.cpp
@@ -112,7 +112,8 @@ static bool privatizeVars(Op &op, Fortran::lower::AbstractConverter &converter,
       // TODO: Add lastprivate support for sections construct, simd construct
       if (std::is_same_v<Op, omp::WsLoopOp>) {
         omp::WsLoopOp *wsLoopOp = dyn_cast<omp::WsLoopOp>(&op);
-        mlir::Operation *lastOper = wsLoopOp->region().back().getTerminator();
+        mlir::Operation *lastOper =
+            wsLoopOp->getRegion().back().getTerminator();
         firOpBuilder.setInsertionPoint(lastOper);
 
         // Our goal here is to introduce the following control flow
@@ -150,7 +151,7 @@ static bool privatizeVars(Op &op, Fortran::lower::AbstractConverter &converter,
           cmpOp = firOpBuilder.create<mlir::arith::CmpIOp>(
               wsLoopOp->getLoc(), mlir::arith::CmpIPredicate::eq,
               wsLoopOp->getRegion().front().getArguments()[0],
-              wsLoopOp->upperBound()[0]);
+              wsLoopOp->getUpperBound()[0]);
         }
         mlir::scf::IfOp ifOp = firOpBuilder.create<mlir::scf::IfOp>(
             wsLoopOp->getLoc(), cmpOp, /*else*/ false);
@@ -286,7 +287,7 @@ static void threadPrivatizeVars(Fortran::lower::AbstractConverter &converter,
     assert(mlir::isa<mlir::omp::ThreadprivateOp>(op) &&
            "The threadprivate operation not created");
     mlir::Value symValue =
-        mlir::dyn_cast<mlir::omp::ThreadprivateOp>(op).sym_addr();
+        mlir::dyn_cast<mlir::omp::ThreadprivateOp>(op).getSymAddr();
     return firOpBuilder.create<mlir::omp::ThreadprivateOp>(
         currentLocation, symValue.getType(), symValue);
   };
@@ -908,17 +909,18 @@ static omp::ReductionDeclareOp createReductionDecl(
         modBuilder.create<omp::ReductionDeclareOp>(loc, reductionOpName, type);
   else
     return decl;
-  builder.createBlock(&decl.initializerRegion(), decl.initializerRegion().end(),
-                      {type}, {loc});
-  builder.setInsertionPointToEnd(&decl.initializerRegion().back());
+  builder.createBlock(&decl.getInitializerRegion(),
+                      decl.getInitializerRegion().end(), {type}, {loc});
+  builder.setInsertionPointToEnd(&decl.getInitializerRegion().back());
   Value init = getReductionInitValue(loc, type, reductionOpName, builder);
   builder.create<omp::YieldOp>(loc, init);
 
-  builder.createBlock(&decl.reductionRegion(), decl.reductionRegion().end(),
-                      {type, type}, {loc, loc});
-  builder.setInsertionPointToEnd(&decl.reductionRegion().back());
-  mlir::Value op1 = decl.reductionRegion().front().getArgument(0);
-  mlir::Value op2 = decl.reductionRegion().front().getArgument(1);
+  builder.createBlock(&decl.getReductionRegion(),
+                      decl.getReductionRegion().end(), {type, type},
+                      {loc, loc});
+  builder.setInsertionPointToEnd(&decl.getReductionRegion().back());
+  mlir::Value op1 = decl.getReductionRegion().front().getArgument(0);
+  mlir::Value op2 = decl.getReductionRegion().front().getArgument(1);
 
   Value reductionOp;
   switch (intrinsicOp) {
@@ -1156,7 +1158,7 @@ static void genOMP(Fortran::lower::AbstractConverter &converter,
                      "Reduction of some types is not supported");
               }
               reductionDeclSymbols.push_back(SymbolRefAttr::get(
-                  firOpBuilder.getContext(), decl.sym_name()));
+                  firOpBuilder.getContext(), decl.getSymName()));
             }
           }
         }
@@ -1232,10 +1234,10 @@ static void genOMP(Fortran::lower::AbstractConverter &converter,
         const auto *expr = Fortran::semantics::GetExpr(orderedClause->v);
         const std::optional<std::int64_t> orderedClauseValue =
             Fortran::evaluate::ToInt64(*expr);
-        wsLoopOp.ordered_valAttr(
+        wsLoopOp.setOrderedValAttr(
             firOpBuilder.getI64IntegerAttr(*orderedClauseValue));
       } else {
-        wsLoopOp.ordered_valAttr(firOpBuilder.getI64IntegerAttr(0));
+        wsLoopOp.setOrderedValAttr(firOpBuilder.getI64IntegerAttr(0));
       }
     } else if (const auto &scheduleClause =
                    std::get_if<Fortran::parser::OmpClause::Schedule>(
@@ -1247,34 +1249,34 @@ static void genOMP(Fortran::lower::AbstractConverter &converter,
               scheduleType.t);
       switch (scheduleKind) {
       case Fortran::parser::OmpScheduleClause::ScheduleType::Static:
-        wsLoopOp.schedule_valAttr(omp::ClauseScheduleKindAttr::get(
+        wsLoopOp.setScheduleValAttr(omp::ClauseScheduleKindAttr::get(
             context, omp::ClauseScheduleKind::Static));
         break;
       case Fortran::parser::OmpScheduleClause::ScheduleType::Dynamic:
-        wsLoopOp.schedule_valAttr(omp::ClauseScheduleKindAttr::get(
+        wsLoopOp.setScheduleValAttr(omp::ClauseScheduleKindAttr::get(
             context, omp::ClauseScheduleKind::Dynamic));
         break;
       case Fortran::parser::OmpScheduleClause::ScheduleType::Guided:
-        wsLoopOp.schedule_valAttr(omp::ClauseScheduleKindAttr::get(
+        wsLoopOp.setScheduleValAttr(omp::ClauseScheduleKindAttr::get(
             context, omp::ClauseScheduleKind::Guided));
         break;
       case Fortran::parser::OmpScheduleClause::ScheduleType::Auto:
-        wsLoopOp.schedule_valAttr(omp::ClauseScheduleKindAttr::get(
+        wsLoopOp.setScheduleValAttr(omp::ClauseScheduleKindAttr::get(
             context, omp::ClauseScheduleKind::Auto));
         break;
       case Fortran::parser::OmpScheduleClause::ScheduleType::Runtime:
-        wsLoopOp.schedule_valAttr(omp::ClauseScheduleKindAttr::get(
+        wsLoopOp.setScheduleValAttr(omp::ClauseScheduleKindAttr::get(
             context, omp::ClauseScheduleKind::Runtime));
         break;
       }
       mlir::omp::ScheduleModifier scheduleModifier =
           getScheduleModifier(scheduleClause->v);
       if (scheduleModifier != mlir::omp::ScheduleModifier::none)
-        wsLoopOp.schedule_modifierAttr(
+        wsLoopOp.setScheduleModifierAttr(
             omp::ScheduleModifierAttr::get(context, scheduleModifier));
       if (getSIMDModifier(scheduleClause->v) !=
           mlir::omp::ScheduleModifier::none)
-        wsLoopOp.simd_modifierAttr(firOpBuilder.getUnitAttr());
+        wsLoopOp.setSimdModifierAttr(firOpBuilder.getUnitAttr());
     }
   }
   // In FORTRAN `nowait` clause occur at the end of `omp do` directive.
@@ -1289,7 +1291,7 @@ static void genOMP(Fortran::lower::AbstractConverter &converter,
         std::get<Fortran::parser::OmpClauseList>((*endClauseList).t);
     for (const Fortran::parser::OmpClause &clause : clauseList.v)
       if (std::get_if<Fortran::parser::OmpClause::Nowait>(&clause.u))
-        wsLoopOp.nowaitAttr(firOpBuilder.getUnitAttr());
+        wsLoopOp.setNowaitAttr(firOpBuilder.getUnitAttr());
   }
 
   createBodyOfOp<omp::WsLoopOp>(wsLoopOp, converter, currentLocation, eval,
@@ -1333,7 +1335,7 @@ genOMP(Fortran::lower::AbstractConverter &converter,
             currentLocation, name, hint);
       return firOpBuilder.create<mlir::omp::CriticalOp>(
           currentLocation, mlir::FlatSymbolRefAttr::get(
-                               firOpBuilder.getContext(), global.sym_name()));
+                               firOpBuilder.getContext(), global.getSymName()));
     }
   }();
   createBodyOfOp<omp::CriticalOp>(criticalOp, converter, currentLocation, eval);

diff  --git a/flang/lib/Optimizer/Transforms/AffineDemotion.cpp b/flang/lib/Optimizer/Transforms/AffineDemotion.cpp
index 152571f978540..8e896a53c504e 100644
--- a/flang/lib/Optimizer/Transforms/AffineDemotion.cpp
+++ b/flang/lib/Optimizer/Transforms/AffineDemotion.cpp
@@ -135,7 +135,7 @@ class StdAllocConversion : public mlir::OpRewritePattern<memref::AllocOp> {
   matchAndRewrite(memref::AllocOp op,
                   mlir::PatternRewriter &rewriter) const override {
     rewriter.replaceOpWithNewOp<fir::AllocaOp>(op, convertMemRef(op.getType()),
-                                               op.memref());
+                                               op.getMemref());
     return success();
   }
 };

diff  --git a/mlir/include/mlir/Dialect/Async/IR/AsyncDialect.td b/mlir/include/mlir/Dialect/Async/IR/AsyncDialect.td
index d22e7a2bbcb51..e3b4db42204b8 100644
--- a/mlir/include/mlir/Dialect/Async/IR/AsyncDialect.td
+++ b/mlir/include/mlir/Dialect/Async/IR/AsyncDialect.td
@@ -38,9 +38,6 @@ def AsyncDialect : Dialect {
     static constexpr StringRef kAllowedToBlockAttrName =
         "async.allowed_to_block";
   }];
-
-  // TODO: Prefixed form overlaps with generated names, update before flipping.
-  let emitAccessorPrefix = kEmitAccessorPrefix_Both;
 }
 
 #endif // ASYNC_DIALECT_TD

diff  --git a/mlir/include/mlir/Dialect/GPU/IR/GPUBase.td b/mlir/include/mlir/Dialect/GPU/IR/GPUBase.td
index 263e51c1bc94e..31fc1683d683b 100644
--- a/mlir/include/mlir/Dialect/GPU/IR/GPUBase.td
+++ b/mlir/include/mlir/Dialect/GPU/IR/GPUBase.td
@@ -56,9 +56,6 @@ def GPU_Dialect : Dialect {
   let dependentDialects = ["arith::ArithDialect"];
   let useDefaultAttributePrinterParser = 1;
   let useDefaultTypePrinterParser = 1;
-
-  // TODO: Update this to _Prefixed.
-  let emitAccessorPrefix = kEmitAccessorPrefix_Both;
 }
 
 def GPU_AsyncToken : DialectType<

diff  --git a/mlir/include/mlir/Dialect/MemRef/IR/MemRefBase.td b/mlir/include/mlir/Dialect/MemRef/IR/MemRefBase.td
index a62af7c8efbfe..3be84ae654f6a 100644
--- a/mlir/include/mlir/Dialect/MemRef/IR/MemRefBase.td
+++ b/mlir/include/mlir/Dialect/MemRef/IR/MemRefBase.td
@@ -21,8 +21,6 @@ def MemRef_Dialect : Dialect {
   }];
   let dependentDialects = ["arith::ArithDialect"];
   let hasConstantMaterializer = 1;
-
-  let emitAccessorPrefix = kEmitAccessorPrefix_Both;
 }
 
 #endif // MEMREF_BASE

diff  --git a/mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td b/mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
index d69e2524f0a51..9203e8b6b572f 100644
--- a/mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
+++ b/mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
@@ -27,9 +27,6 @@ def OpenACC_Dialect : Dialect {
 
   let useDefaultAttributePrinterParser = 1;
   let cppNamespace = "::mlir::acc";
-
-  // TODO: Flip to _Prefixed.
-  let emitAccessorPrefix = kEmitAccessorPrefix_Both;
 }
 
 // AccCommon requires definition of OpenACC_Dialect.

diff  --git a/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td b/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
index 7652f62347372..a1d9df716e7ab 100644
--- a/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
+++ b/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
@@ -28,9 +28,6 @@ def OpenMP_Dialect : Dialect {
   let cppNamespace = "::mlir::omp";
   let dependentDialects = ["::mlir::LLVM::LLVMDialect"];
   let useDefaultAttributePrinterParser = 1;
-
-  // TODO: Flip to _Prefixed.
-  let emitAccessorPrefix = kEmitAccessorPrefix_Both;
 }
 
 // OmpCommon requires definition of OpenACC_Dialect.

diff  --git a/mlir/include/mlir/Dialect/PDL/IR/PDLDialect.td b/mlir/include/mlir/Dialect/PDL/IR/PDLDialect.td
index 3aa1d653c613b..d405bec26634c 100644
--- a/mlir/include/mlir/Dialect/PDL/IR/PDLDialect.td
+++ b/mlir/include/mlir/Dialect/PDL/IR/PDLDialect.td
@@ -69,9 +69,6 @@ def PDL_Dialect : Dialect {
   let extraClassDeclaration = [{
     void registerTypes();
   }];
-
-  // FIXME: Flip to prefixed.
-  let emitAccessorPrefix = kEmitAccessorPrefix_Both;
 }
 
 #endif // MLIR_DIALECT_PDL_IR_PDLDIALECT

diff  --git a/mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp b/mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
index bbf0818639b70..8357ec49e79fd 100644
--- a/mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
+++ b/mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
@@ -333,13 +333,13 @@ LogicalResult LoadOpOfSubViewOpFolder<OpTy>::matchAndRewrite(
 
   llvm::TypeSwitch<Operation *, void>(loadOp)
       .Case<AffineLoadOp, memref::LoadOp>([&](auto op) {
-        rewriter.replaceOpWithNewOp<decltype(op)>(loadOp, subViewOp.source(),
+        rewriter.replaceOpWithNewOp<decltype(op)>(loadOp, subViewOp.getSource(),
                                                   sourceIndices);
       })
       .Case([&](vector::TransferReadOp transferReadOp) {
         rewriter.replaceOpWithNewOp<vector::TransferReadOp>(
-            transferReadOp, transferReadOp.getVectorType(), subViewOp.source(),
-            sourceIndices,
+            transferReadOp, transferReadOp.getVectorType(),
+            subViewOp.getSource(), sourceIndices,
             getPermutationMapAttr(rewriter.getContext(), subViewOp,
                                   transferReadOp.getPermutationMap()),
             transferReadOp.getPadding(),
@@ -440,11 +440,11 @@ LogicalResult StoreOpOfSubViewOpFolder<OpTy>::matchAndRewrite(
   llvm::TypeSwitch<Operation *, void>(storeOp)
       .Case<AffineStoreOp, memref::StoreOp>([&](auto op) {
         rewriter.replaceOpWithNewOp<decltype(op)>(
-            storeOp, storeOp.getValue(), subViewOp.source(), sourceIndices);
+            storeOp, storeOp.getValue(), subViewOp.getSource(), sourceIndices);
       })
       .Case([&](vector::TransferWriteOp op) {
         rewriter.replaceOpWithNewOp<vector::TransferWriteOp>(
-            op, op.getValue(), subViewOp.source(), sourceIndices,
+            op, op.getValue(), subViewOp.getSource(), sourceIndices,
             getPermutationMapAttr(rewriter.getContext(), subViewOp,
                                   op.getPermutationMap()),
             op.getInBoundsAttr());

diff  --git a/mlir/lib/Dialect/MemRef/Transforms/SimplifyExtractStridedMetadata.cpp b/mlir/lib/Dialect/MemRef/Transforms/SimplifyExtractStridedMetadata.cpp
index 5a14578fa112a..257a02b9155d7 100644
--- a/mlir/lib/Dialect/MemRef/Transforms/SimplifyExtractStridedMetadata.cpp
+++ b/mlir/lib/Dialect/MemRef/Transforms/SimplifyExtractStridedMetadata.cpp
@@ -721,7 +721,7 @@ class RewriteExtractAlignedPointerAsIndexOfViewLikeOp
     if (!viewLikeOp)
       return rewriter.notifyMatchFailure(extractOp, "not a ViewLike source");
     rewriter.updateRootInPlace(extractOp, [&]() {
-      extractOp.sourceMutable().assign(viewLikeOp.getViewSource());
+      extractOp.getSourceMutable().assign(viewLikeOp.getViewSource());
     });
     return success();
   }


        


More information about the flang-commits mailing list