diff options
Diffstat (limited to 'flang/lib/Optimizer/Dialect')
-rw-r--r-- | flang/lib/Optimizer/Dialect/FIRDialect.cpp | 2 | ||||
-rw-r--r-- | flang/lib/Optimizer/Dialect/FIROps.cpp | 20 | ||||
-rw-r--r-- | flang/lib/Optimizer/Dialect/Support/FIRContext.cpp | 51 | ||||
-rw-r--r-- | flang/lib/Optimizer/Dialect/Support/KindMapping.cpp | 1 |
4 files changed, 12 insertions, 62 deletions
diff --git a/flang/lib/Optimizer/Dialect/FIRDialect.cpp b/flang/lib/Optimizer/Dialect/FIRDialect.cpp index 4b1dada..12f1baf3 100644 --- a/flang/lib/Optimizer/Dialect/FIRDialect.cpp +++ b/flang/lib/Optimizer/Dialect/FIRDialect.cpp @@ -56,7 +56,7 @@ struct FIRInlinerInterface : public mlir::DialectInlinerInterface { mlir::Value input, mlir::Type resultType, mlir::Location loc) const final { - return builder.create<fir::ConvertOp>(loc, resultType, input); + return fir::ConvertOp::create(builder, loc, resultType, input); } }; } // namespace diff --git a/flang/lib/Optimizer/Dialect/FIROps.cpp b/flang/lib/Optimizer/Dialect/FIROps.cpp index cf20d84..01975f3 100644 --- a/flang/lib/Optimizer/Dialect/FIROps.cpp +++ b/flang/lib/Optimizer/Dialect/FIROps.cpp @@ -782,8 +782,8 @@ private: return nullptr; mlir::OpBuilder::InsertionGuard guard(rewriter); rewriter.setInsertionPoint(shapeShiftOp); - return rewriter.create<fir::ShapeOp>(shapeShiftOp.getLoc(), - shapeShiftOp.getExtents()); + return fir::ShapeOp::create(rewriter, shapeShiftOp.getLoc(), + shapeShiftOp.getExtents()); } static std::optional<IndicesVectorTy> @@ -797,19 +797,19 @@ private: rewriter.setInsertionPoint(op); mlir::Location loc = op->getLoc(); mlir::Type idxTy = rewriter.getIndexType(); - mlir::Value one = rewriter.create<mlir::arith::ConstantOp>( - loc, idxTy, rewriter.getIndexAttr(1)); + mlir::Value one = mlir::arith::ConstantOp::create( + rewriter, loc, idxTy, rewriter.getIndexAttr(1)); rewriter.restoreInsertionPoint(savedIP); auto nsw = mlir::arith::IntegerOverflowFlags::nsw; IndicesVectorTy shiftedIndices; for (auto [lb, idx] : llvm::zip(lbs, indices)) { - mlir::Value extLb = rewriter.create<fir::ConvertOp>(loc, idxTy, lb); - mlir::Value extIdx = rewriter.create<fir::ConvertOp>(loc, idxTy, idx); + mlir::Value extLb = fir::ConvertOp::create(rewriter, loc, idxTy, lb); + mlir::Value extIdx = fir::ConvertOp::create(rewriter, loc, idxTy, idx); mlir::Value add = - rewriter.create<mlir::arith::AddIOp>(loc, extIdx, extLb, nsw); + mlir::arith::AddIOp::create(rewriter, loc, extIdx, extLb, nsw); mlir::Value sub = - rewriter.create<mlir::arith::SubIOp>(loc, add, one, nsw); + mlir::arith::SubIOp::create(rewriter, loc, add, one, nsw); shiftedIndices.push_back(sub); } @@ -4711,7 +4711,7 @@ mlir::func::FuncOp fir::createFuncOp(mlir::Location loc, mlir::ModuleOp module, return f; mlir::OpBuilder modBuilder(module.getBodyRegion()); modBuilder.setInsertionPointToEnd(module.getBody()); - auto result = modBuilder.create<mlir::func::FuncOp>(loc, name, type, attrs); + auto result = mlir::func::FuncOp::create(modBuilder, loc, name, type, attrs); result.setVisibility(mlir::SymbolTable::Visibility::Private); return result; } @@ -4731,7 +4731,7 @@ fir::GlobalOp fir::createGlobalOp(mlir::Location loc, mlir::ModuleOp module, if (auto g = module.lookupSymbol<fir::GlobalOp>(name)) return g; mlir::OpBuilder modBuilder(module.getBodyRegion()); - auto result = modBuilder.create<fir::GlobalOp>(loc, name, type, attrs); + auto result = fir::GlobalOp::create(modBuilder, loc, name, type, attrs); result.setVisibility(mlir::SymbolTable::Visibility::Private); return result; } diff --git a/flang/lib/Optimizer/Dialect/Support/FIRContext.cpp b/flang/lib/Optimizer/Dialect/Support/FIRContext.cpp index c2e0afe1..01c0be6 100644 --- a/flang/lib/Optimizer/Dialect/Support/FIRContext.cpp +++ b/flang/lib/Optimizer/Dialect/Support/FIRContext.cpp @@ -88,57 +88,6 @@ void fir::setTuneCPU(mlir::ModuleOp mod, llvm::StringRef cpu) { mod->setAttr(tuneCpuName, mlir::StringAttr::get(ctx, cpu)); } -static constexpr const char *atomicIgnoreDenormalModeName = - "fir.atomic_ignore_denormal_mode"; - -void fir::setAtomicIgnoreDenormalMode(mlir::ModuleOp mod, bool value) { - if (value) { - auto *ctx = mod.getContext(); - mod->setAttr(atomicIgnoreDenormalModeName, mlir::UnitAttr::get(ctx)); - } else { - if (mod->hasAttr(atomicIgnoreDenormalModeName)) - mod->removeAttr(atomicIgnoreDenormalModeName); - } -} - -bool fir::getAtomicIgnoreDenormalMode(mlir::ModuleOp mod) { - return mod->hasAttr(atomicIgnoreDenormalModeName); -} - -static constexpr const char *atomicFineGrainedMemoryName = - "fir.atomic_fine_grained_memory"; - -void fir::setAtomicFineGrainedMemory(mlir::ModuleOp mod, bool value) { - if (value) { - auto *ctx = mod.getContext(); - mod->setAttr(atomicFineGrainedMemoryName, mlir::UnitAttr::get(ctx)); - } else { - if (mod->hasAttr(atomicFineGrainedMemoryName)) - mod->removeAttr(atomicFineGrainedMemoryName); - } -} - -bool fir::getAtomicFineGrainedMemory(mlir::ModuleOp mod) { - return mod->hasAttr(atomicFineGrainedMemoryName); -} - -static constexpr const char *atomicRemoteMemoryName = - "fir.atomic_remote_memory"; - -void fir::setAtomicRemoteMemory(mlir::ModuleOp mod, bool value) { - if (value) { - auto *ctx = mod.getContext(); - mod->setAttr(atomicRemoteMemoryName, mlir::UnitAttr::get(ctx)); - } else { - if (mod->hasAttr(atomicRemoteMemoryName)) - mod->removeAttr(atomicRemoteMemoryName); - } -} - -bool fir::getAtomicRemoteMemory(mlir::ModuleOp mod) { - return mod->hasAttr(atomicRemoteMemoryName); -} - llvm::StringRef fir::getTuneCPU(mlir::ModuleOp mod) { if (auto attr = mod->getAttrOfType<mlir::StringAttr>(tuneCpuName)) return attr.getValue(); diff --git a/flang/lib/Optimizer/Dialect/Support/KindMapping.cpp b/flang/lib/Optimizer/Dialect/Support/KindMapping.cpp index 30c6030..6cf8adb 100644 --- a/flang/lib/Optimizer/Dialect/Support/KindMapping.cpp +++ b/flang/lib/Optimizer/Dialect/Support/KindMapping.cpp @@ -12,6 +12,7 @@ #include "flang/Optimizer/Dialect/Support/KindMapping.h" #include "mlir/Dialect/LLVMIR/LLVMDialect.h" +#include "llvm/IR/LLVMContext.h" #include "llvm/Support/CommandLine.h" /// Allow the user to set the FIR intrinsic type kind value to LLVM type |