[flang-commits] [flang] [llvm] [flang][OpenMP] Try to unify induction var privatization for OMP regions. (PR #91116)
Kareem Ergawy via flang-commits
flang-commits at lists.llvm.org
Mon May 13 20:18:31 PDT 2024
================
@@ -203,17 +203,16 @@ static mlir::Operation *
createAndSetPrivatizedLoopVar(Fortran::lower::AbstractConverter &converter,
mlir::Location loc, mlir::Value indexVal,
const Fortran::semantics::Symbol *sym) {
+
fir::FirOpBuilder &firOpBuilder = converter.getFirOpBuilder();
mlir::OpBuilder::InsertPoint insPt = firOpBuilder.saveInsertionPoint();
firOpBuilder.setInsertionPointToStart(firOpBuilder.getAllocaBlock());
mlir::Type tempTy = converter.genType(*sym);
- mlir::Value temp = firOpBuilder.create<fir::AllocaOp>(
- loc, tempTy, /*pinned=*/true, /*lengthParams=*/mlir::ValueRange{},
- /*shapeParams*/ mlir::ValueRange{},
- llvm::ArrayRef<mlir::NamedAttribute>{
- fir::getAdaptToByRefAttr(firOpBuilder)});
- converter.bindSymbol(*sym, temp);
+
+ assert(converter.isPresentShallowLookup(*sym) &&
----------------
ergawy wrote:
Now that we extended the `DataSharingProcessor` to collect all kinds of private symbols, we can verify here that no allocation is required for `sym`.
https://github.com/llvm/llvm-project/pull/91116
More information about the flang-commits
mailing list