This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG817dd5e3fd6b: [clang][dataflow] Rename member to make it clear that it isn't stable (authored by sgatev).
Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D131021/new/ https://reviews.llvm.org/D131021 Files: clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp Index: clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp =================================================================== --- clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp +++ clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp @@ -337,7 +337,7 @@ } StorageLocation &Environment::createStorageLocation(QualType Type) { - return DACtx->getStableStorageLocation(Type); + return DACtx->createStorageLocation(Type); } StorageLocation &Environment::createStorageLocation(const VarDecl &D) { Index: clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp =================================================================== --- clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp +++ clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp @@ -24,15 +24,14 @@ namespace clang { namespace dataflow { -StorageLocation & -DataflowAnalysisContext::getStableStorageLocation(QualType Type) { +StorageLocation &DataflowAnalysisContext::createStorageLocation(QualType Type) { if (!Type.isNull() && (Type->isStructureOrClassType() || Type->isUnionType())) { // FIXME: Explore options to avoid eager initialization of fields as some of // them might not be needed for a particular analysis. llvm::DenseMap<const ValueDecl *, StorageLocation *> FieldLocs; for (const FieldDecl *Field : getObjectFields(Type)) - FieldLocs.insert({Field, &getStableStorageLocation(Field->getType())}); + FieldLocs.insert({Field, &createStorageLocation(Field->getType())}); return takeOwnership( std::make_unique<AggregateStorageLocation>(Type, std::move(FieldLocs))); } @@ -43,7 +42,7 @@ DataflowAnalysisContext::getStableStorageLocation(const VarDecl &D) { if (auto *Loc = getStorageLocation(D)) return *Loc; - auto &Loc = getStableStorageLocation(D.getType()); + auto &Loc = createStorageLocation(D.getType()); setStorageLocation(D, Loc); return Loc; } @@ -52,7 +51,7 @@ DataflowAnalysisContext::getStableStorageLocation(const Expr &E) { if (auto *Loc = getStorageLocation(E)) return *Loc; - auto &Loc = getStableStorageLocation(E.getType()); + auto &Loc = createStorageLocation(E.getType()); setStorageLocation(E, Loc); return Loc; } @@ -63,7 +62,7 @@ PointeeType.isNull() ? PointeeType : PointeeType.getCanonicalType(); auto Res = NullPointerVals.try_emplace(CanonicalPointeeType, nullptr); if (Res.second) { - auto &PointeeLoc = getStableStorageLocation(CanonicalPointeeType); + auto &PointeeLoc = createStorageLocation(CanonicalPointeeType); Res.first->second = &takeOwnership(std::make_unique<PointerValue>(PointeeLoc)); } Index: clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h =================================================================== --- clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h +++ clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h @@ -90,12 +90,12 @@ return *cast<T>(Vals.back().get()); } - /// Returns a stable storage location appropriate for `Type`. + /// Returns a new storage location appropriate for `Type`. /// /// Requirements: /// /// `Type` must not be null. - StorageLocation &getStableStorageLocation(QualType Type); + StorageLocation &createStorageLocation(QualType Type); /// Returns a stable storage location for `D`. StorageLocation &getStableStorageLocation(const VarDecl &D);
Index: clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp =================================================================== --- clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp +++ clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp @@ -337,7 +337,7 @@ } StorageLocation &Environment::createStorageLocation(QualType Type) { - return DACtx->getStableStorageLocation(Type); + return DACtx->createStorageLocation(Type); } StorageLocation &Environment::createStorageLocation(const VarDecl &D) { Index: clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp =================================================================== --- clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp +++ clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp @@ -24,15 +24,14 @@ namespace clang { namespace dataflow { -StorageLocation & -DataflowAnalysisContext::getStableStorageLocation(QualType Type) { +StorageLocation &DataflowAnalysisContext::createStorageLocation(QualType Type) { if (!Type.isNull() && (Type->isStructureOrClassType() || Type->isUnionType())) { // FIXME: Explore options to avoid eager initialization of fields as some of // them might not be needed for a particular analysis. llvm::DenseMap<const ValueDecl *, StorageLocation *> FieldLocs; for (const FieldDecl *Field : getObjectFields(Type)) - FieldLocs.insert({Field, &getStableStorageLocation(Field->getType())}); + FieldLocs.insert({Field, &createStorageLocation(Field->getType())}); return takeOwnership( std::make_unique<AggregateStorageLocation>(Type, std::move(FieldLocs))); } @@ -43,7 +42,7 @@ DataflowAnalysisContext::getStableStorageLocation(const VarDecl &D) { if (auto *Loc = getStorageLocation(D)) return *Loc; - auto &Loc = getStableStorageLocation(D.getType()); + auto &Loc = createStorageLocation(D.getType()); setStorageLocation(D, Loc); return Loc; } @@ -52,7 +51,7 @@ DataflowAnalysisContext::getStableStorageLocation(const Expr &E) { if (auto *Loc = getStorageLocation(E)) return *Loc; - auto &Loc = getStableStorageLocation(E.getType()); + auto &Loc = createStorageLocation(E.getType()); setStorageLocation(E, Loc); return Loc; } @@ -63,7 +62,7 @@ PointeeType.isNull() ? PointeeType : PointeeType.getCanonicalType(); auto Res = NullPointerVals.try_emplace(CanonicalPointeeType, nullptr); if (Res.second) { - auto &PointeeLoc = getStableStorageLocation(CanonicalPointeeType); + auto &PointeeLoc = createStorageLocation(CanonicalPointeeType); Res.first->second = &takeOwnership(std::make_unique<PointerValue>(PointeeLoc)); } Index: clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h =================================================================== --- clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h +++ clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h @@ -90,12 +90,12 @@ return *cast<T>(Vals.back().get()); } - /// Returns a stable storage location appropriate for `Type`. + /// Returns a new storage location appropriate for `Type`. /// /// Requirements: /// /// `Type` must not be null. - StorageLocation &getStableStorageLocation(QualType Type); + StorageLocation &createStorageLocation(QualType Type); /// Returns a stable storage location for `D`. StorageLocation &getStableStorageLocation(const VarDecl &D);
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits