diff --git a/flang/include/flang/Lower/Support/Utils.h b/flang/include/flang/Lower/Support/Utils.h index e544542e2ff71..697bb05ec8cee 100644 --- a/flang/include/flang/Lower/Support/Utils.h +++ b/flang/include/flang/Lower/Support/Utils.h @@ -101,7 +101,7 @@ void privatizeSymbol( lower::AbstractConverter &converter, fir::FirOpBuilder &firOpBuilder, lower::SymMap &symTable, llvm::SetVector &allPrivatizedSymbols, - llvm::SmallSet &mightHaveReadHostSym, + llvm::SmallPtrSet &mightHaveReadHostSym, const semantics::Symbol *symToPrivatize, OperandsStructType *clauseOps); } // end namespace Fortran::lower diff --git a/flang/lib/Lower/Bridge.cpp b/flang/lib/Lower/Bridge.cpp index ea98aa2804944..c003a5b04ecd5 100644 --- a/flang/lib/Lower/Bridge.cpp +++ b/flang/lib/Lower/Bridge.cpp @@ -2066,7 +2066,8 @@ class FirConverter : public Fortran::lower::AbstractConverter { // complete. bool useDelayedPriv = enableDelayedPrivatization && doConcurrentLoopOp; llvm::SetVector allPrivatizedSymbols; - llvm::SmallSet mightHaveReadHostSym; + llvm::SmallPtrSet + mightHaveReadHostSym; for (const Fortran::semantics::Symbol *symToPrivatize : info.localSymList) { if (useDelayedPriv) { diff --git a/flang/lib/Lower/OpenMP/DataSharingProcessor.h b/flang/lib/Lower/OpenMP/DataSharingProcessor.h index 96c9240017f00..00b2d95bab224 100644 --- a/flang/lib/Lower/OpenMP/DataSharingProcessor.h +++ b/flang/lib/Lower/OpenMP/DataSharingProcessor.h @@ -107,7 +107,7 @@ class DataSharingProcessor { lower::pft::Evaluation &eval; bool shouldCollectPreDeterminedSymbols; bool useDelayedPrivatization; - llvm::SmallSet mightHaveReadHostSym; + llvm::SmallPtrSet mightHaveReadHostSym; lower::SymMap &symTable; bool isTargetPrivatization; OMPConstructSymbolVisitor visitor; diff --git a/flang/lib/Lower/PFTBuilder.cpp b/flang/lib/Lower/PFTBuilder.cpp index a28cc019a7310..80f31c2be91a8 100644 --- a/flang/lib/Lower/PFTBuilder.cpp +++ b/flang/lib/Lower/PFTBuilder.cpp @@ -1742,11 +1742,11 @@ struct SymbolDependenceAnalysis { layeredVarList[i].end()); } - llvm::SmallSet seen; + llvm::SmallPtrSet seen; std::vector layeredVarList; - llvm::SmallSet aliasSyms; + llvm::SmallPtrSet aliasSyms; /// Set of scopes that have been analyzed for aliases. - llvm::SmallSet analyzedScopes; + llvm::SmallPtrSet analyzedScopes; std::vector stores; }; } // namespace diff --git a/flang/lib/Lower/Support/Utils.cpp b/flang/lib/Lower/Support/Utils.cpp index 881401e11fee4..0cdb03beb72a2 100644 --- a/flang/lib/Lower/Support/Utils.cpp +++ b/flang/lib/Lower/Support/Utils.cpp @@ -654,7 +654,7 @@ void privatizeSymbol( lower::AbstractConverter &converter, fir::FirOpBuilder &firOpBuilder, lower::SymMap &symTable, llvm::SetVector &allPrivatizedSymbols, - llvm::SmallSet &mightHaveReadHostSym, + llvm::SmallPtrSet &mightHaveReadHostSym, const semantics::Symbol *symToPrivatize, OperandsStructType *clauseOps) { constexpr bool isDoConcurrent = std::is_same_v; @@ -846,7 +846,7 @@ privatizeSymbol( lower::AbstractConverter &converter, fir::FirOpBuilder &firOpBuilder, lower::SymMap &symTable, llvm::SetVector &allPrivatizedSymbols, - llvm::SmallSet &mightHaveReadHostSym, + llvm::SmallPtrSet &mightHaveReadHostSym, const semantics::Symbol *symToPrivatize, mlir::omp::PrivateClauseOps *clauseOps); @@ -855,7 +855,7 @@ privatizeSymbol( lower::AbstractConverter &converter, fir::FirOpBuilder &firOpBuilder, lower::SymMap &symTable, llvm::SetVector &allPrivatizedSymbols, - llvm::SmallSet &mightHaveReadHostSym, + llvm::SmallPtrSet &mightHaveReadHostSym, const semantics::Symbol *symToPrivatize, fir::LocalitySpecifierOperands *clauseOps); diff --git a/flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp b/flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp index 8e25298122411..32998ab64cb8c 100644 --- a/flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp +++ b/flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp @@ -96,7 +96,7 @@ struct MaskedArrayExpr { /// hlfir.elemental_addr that form the elemental tree producing /// the expression value. hlfir.elemental that produce values /// used inside transformational operations are not part of this set. - llvm::SmallSet elementalParts{}; + llvm::SmallPtrSet elementalParts{}; /// Was generateNoneElementalPart called? bool noneElementalPartWasGenerated = false; /// Is this expression the mask expression of the outer where statement? diff --git a/flang/lib/Optimizer/HLFIR/Transforms/ScheduleOrderedAssignments.cpp b/flang/lib/Optimizer/HLFIR/Transforms/ScheduleOrderedAssignments.cpp index 722cd8a4488b1..a48b7ba8a77df 100644 --- a/flang/lib/Optimizer/HLFIR/Transforms/ScheduleOrderedAssignments.cpp +++ b/flang/lib/Optimizer/HLFIR/Transforms/ScheduleOrderedAssignments.cpp @@ -137,7 +137,7 @@ class Scheduler { // Schedule being built. hlfir::Schedule schedule; /// Leaf regions that have been saved so far. - llvm::SmallSet savedRegions; + llvm::SmallPtrSet savedRegions; /// Is schedule.back() a schedule that is only saving region with read /// effects? bool currentRunIsReadOnly = false;