[clang] fcd230a - [clang][ssaf][NFC] Move SSAF from Analysis/Scalable/ to ScalableStaticAnalysisFramework/ (#186156)

via cfe-commits cfe-commits at lists.llvm.org
Fri Mar 13 04:50:14 PDT 2026


Author: Balázs Benics
Date: 2026-03-13T11:50:07Z
New Revision: fcd230adc6cb6008576ed2623f0f877672afd504

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

LOG: [clang][ssaf][NFC] Move SSAF from Analysis/Scalable/ to ScalableStaticAnalysisFramework/ (#186156)

- Rename `clang/{include,lib,unittests}/Analysis/Scalable/` to
`clang/{include,lib,unittests}/ScalableStaticAnalysisFramework/Core/`
- Update header-guards with their new paths
- Rename the library `clangAnalysisScalable` to
`clangScalableStaticAnalysisFrameworkCore`
- Add a new `Clang_ScalableStaticAnalysisFramework` module to
`module.modulemap`
- Update GN build files, GitHub PR labeler, and documentation
- Harmonise license comments
- Add a missing header-guard

Added: 
    clang/include/clang/ScalableStaticAnalysisFramework/Core/ASTEntityMapping.h
    clang/include/clang/ScalableStaticAnalysisFramework/Core/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
    clang/include/clang/ScalableStaticAnalysisFramework/Core/Analyses/UnsafeBufferUsage/UnsafeBufferUsageBuilder.h
    clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntityLinker.h
    clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntitySummaryEncoding.h
    clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummary.h
    clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummaryEncoding.h
    clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/TUSummaryEncoding.h
    clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/BuildNamespace.h
    clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/EntityId.h
    clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/EntityIdTable.h
    clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/EntityLinkage.h
    clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/EntityName.h
    clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/PrivateFieldNames.def
    clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/SummaryName.h
    clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat.h
    clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormat.h
    clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormatRegistry.h
    clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/LUSummaryConsumer.h
    clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryData.h
    clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataBuilder.h
    clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataBuilderRegistry.h
    clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataStore.h
    clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataTraits.h
    clang/include/clang/ScalableStaticAnalysisFramework/Core/Support/ErrorBuilder.h
    clang/include/clang/ScalableStaticAnalysisFramework/Core/Support/FormatProviders.h
    clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/EntitySummary.h
    clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/ExtractorRegistry.h
    clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummary.h
    clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryBuilder.h
    clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryExtractor.h
    clang/lib/ScalableStaticAnalysisFramework/CMakeLists.txt
    clang/lib/ScalableStaticAnalysisFramework/Core/ASTEntityMapping.cpp
    clang/lib/ScalableStaticAnalysisFramework/Core/CMakeLists.txt
    clang/lib/ScalableStaticAnalysisFramework/Core/EntityLinker/EntityLinker.cpp
    clang/lib/ScalableStaticAnalysisFramework/Core/Model/BuildNamespace.cpp
    clang/lib/ScalableStaticAnalysisFramework/Core/Model/EntityId.cpp
    clang/lib/ScalableStaticAnalysisFramework/Core/Model/EntityIdTable.cpp
    clang/lib/ScalableStaticAnalysisFramework/Core/Model/EntityLinkage.cpp
    clang/lib/ScalableStaticAnalysisFramework/Core/Model/EntityName.cpp
    clang/lib/ScalableStaticAnalysisFramework/Core/Model/SummaryName.cpp
    clang/lib/ScalableStaticAnalysisFramework/Core/ModelStringConversions.h
    clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONEntitySummaryEncoding.cpp
    clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONEntitySummaryEncoding.h
    clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
    clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.h
    clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummary.cpp
    clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummaryEncoding.cpp
    clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummary.cpp
    clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummaryEncoding.cpp
    clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormatRegistry.cpp
    clang/lib/ScalableStaticAnalysisFramework/Core/SummaryData/LUSummaryConsumer.cpp
    clang/lib/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataBuilderRegistry.cpp
    clang/lib/ScalableStaticAnalysisFramework/Core/Support/ErrorBuilder.cpp
    clang/lib/ScalableStaticAnalysisFramework/Core/TUSummary/ExtractorRegistry.cpp
    clang/lib/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryBuilder.cpp
    clang/unittests/ScalableStaticAnalysisFramework/ASTEntityMappingTest.cpp
    clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
    clang/unittests/ScalableStaticAnalysisFramework/BuildNamespaceTest.cpp
    clang/unittests/ScalableStaticAnalysisFramework/CMakeLists.txt
    clang/unittests/ScalableStaticAnalysisFramework/EntityIdTableTest.cpp
    clang/unittests/ScalableStaticAnalysisFramework/EntityIdTest.cpp
    clang/unittests/ScalableStaticAnalysisFramework/EntityLinkageTest.cpp
    clang/unittests/ScalableStaticAnalysisFramework/EntityLinkerTest.cpp
    clang/unittests/ScalableStaticAnalysisFramework/EntityNameTest.cpp
    clang/unittests/ScalableStaticAnalysisFramework/ErrorBuilderTest.cpp
    clang/unittests/ScalableStaticAnalysisFramework/ModelStringConversionsTest.cpp
    clang/unittests/ScalableStaticAnalysisFramework/Registries/FancyAnalysisData.cpp
    clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.cpp
    clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.h
    clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSummaryExtractor1.cpp
    clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSummaryExtractor2.cpp
    clang/unittests/ScalableStaticAnalysisFramework/Registries/MockTUSummaryBuilder.h
    clang/unittests/ScalableStaticAnalysisFramework/Registries/SerializationFormatRegistryTest.cpp
    clang/unittests/ScalableStaticAnalysisFramework/Registries/SummaryExtractorRegistryTest.cpp
    clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/JSONFormatTest.cpp
    clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/JSONFormatTest.h
    clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/LUSummaryTest.cpp
    clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/TUSummaryTest.cpp
    clang/unittests/ScalableStaticAnalysisFramework/SummaryData/SummaryDataTest.cpp
    clang/unittests/ScalableStaticAnalysisFramework/SummaryNameTest.cpp
    clang/unittests/ScalableStaticAnalysisFramework/TUSummaryBuilderTest.cpp
    clang/unittests/ScalableStaticAnalysisFramework/TestFixture.cpp
    clang/unittests/ScalableStaticAnalysisFramework/TestFixture.h
    llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysisFramework/Core/BUILD.gn
    llvm/utils/gn/secondary/clang/unittests/ScalableStaticAnalysisFramework/BUILD.gn

Modified: 
    .github/new-prs-labeler.yml
    clang/docs/ScalableStaticAnalysisFramework/developer-docs/ForceLinkerHeaders.rst
    clang/docs/ScalableStaticAnalysisFramework/developer-docs/HowToExtend.rst
    clang/include/module.modulemap
    clang/lib/Analysis/CMakeLists.txt
    clang/lib/CMakeLists.txt
    clang/tools/ssaf-format/CMakeLists.txt
    clang/tools/ssaf-format/SSAFFormat.cpp
    clang/tools/ssaf-linker/CMakeLists.txt
    clang/tools/ssaf-linker/SSAFLinker.cpp
    clang/unittests/Analysis/CMakeLists.txt
    clang/unittests/CMakeLists.txt
    llvm/utils/gn/secondary/clang/unittests/BUILD.gn

Removed: 
    clang/include/clang/Analysis/Scalable/ASTEntityMapping.h
    clang/include/clang/Analysis/Scalable/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
    clang/include/clang/Analysis/Scalable/Analyses/UnsafeBufferUsage/UnsafeBufferUsageBuilder.h
    clang/include/clang/Analysis/Scalable/EntityLinker/EntityLinker.h
    clang/include/clang/Analysis/Scalable/EntityLinker/EntitySummaryEncoding.h
    clang/include/clang/Analysis/Scalable/EntityLinker/LUSummary.h
    clang/include/clang/Analysis/Scalable/EntityLinker/LUSummaryEncoding.h
    clang/include/clang/Analysis/Scalable/EntityLinker/TUSummaryEncoding.h
    clang/include/clang/Analysis/Scalable/Model/BuildNamespace.h
    clang/include/clang/Analysis/Scalable/Model/EntityId.h
    clang/include/clang/Analysis/Scalable/Model/EntityIdTable.h
    clang/include/clang/Analysis/Scalable/Model/EntityLinkage.h
    clang/include/clang/Analysis/Scalable/Model/EntityName.h
    clang/include/clang/Analysis/Scalable/Model/PrivateFieldNames.def
    clang/include/clang/Analysis/Scalable/Model/SummaryName.h
    clang/include/clang/Analysis/Scalable/Serialization/JSONFormat.h
    clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h
    clang/include/clang/Analysis/Scalable/Serialization/SerializationFormatRegistry.h
    clang/include/clang/Analysis/Scalable/SummaryData/LUSummaryConsumer.h
    clang/include/clang/Analysis/Scalable/SummaryData/SummaryData.h
    clang/include/clang/Analysis/Scalable/SummaryData/SummaryDataBuilder.h
    clang/include/clang/Analysis/Scalable/SummaryData/SummaryDataBuilderRegistry.h
    clang/include/clang/Analysis/Scalable/SummaryData/SummaryDataStore.h
    clang/include/clang/Analysis/Scalable/SummaryData/SummaryDataTraits.h
    clang/include/clang/Analysis/Scalable/Support/ErrorBuilder.h
    clang/include/clang/Analysis/Scalable/Support/FormatProviders.h
    clang/include/clang/Analysis/Scalable/TUSummary/EntitySummary.h
    clang/include/clang/Analysis/Scalable/TUSummary/ExtractorRegistry.h
    clang/include/clang/Analysis/Scalable/TUSummary/TUSummary.h
    clang/include/clang/Analysis/Scalable/TUSummary/TUSummaryBuilder.h
    clang/include/clang/Analysis/Scalable/TUSummary/TUSummaryExtractor.h
    clang/lib/Analysis/Scalable/ASTEntityMapping.cpp
    clang/lib/Analysis/Scalable/CMakeLists.txt
    clang/lib/Analysis/Scalable/EntityLinker/EntityLinker.cpp
    clang/lib/Analysis/Scalable/Model/BuildNamespace.cpp
    clang/lib/Analysis/Scalable/Model/EntityId.cpp
    clang/lib/Analysis/Scalable/Model/EntityIdTable.cpp
    clang/lib/Analysis/Scalable/Model/EntityLinkage.cpp
    clang/lib/Analysis/Scalable/Model/EntityName.cpp
    clang/lib/Analysis/Scalable/Model/SummaryName.cpp
    clang/lib/Analysis/Scalable/ModelStringConversions.h
    clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONEntitySummaryEncoding.cpp
    clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONEntitySummaryEncoding.h
    clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONFormatImpl.cpp
    clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONFormatImpl.h
    clang/lib/Analysis/Scalable/Serialization/JSONFormat/LUSummary.cpp
    clang/lib/Analysis/Scalable/Serialization/JSONFormat/LUSummaryEncoding.cpp
    clang/lib/Analysis/Scalable/Serialization/JSONFormat/TUSummary.cpp
    clang/lib/Analysis/Scalable/Serialization/JSONFormat/TUSummaryEncoding.cpp
    clang/lib/Analysis/Scalable/Serialization/SerializationFormatRegistry.cpp
    clang/lib/Analysis/Scalable/SummaryData/LUSummaryConsumer.cpp
    clang/lib/Analysis/Scalable/SummaryData/SummaryDataBuilderRegistry.cpp
    clang/lib/Analysis/Scalable/Support/ErrorBuilder.cpp
    clang/lib/Analysis/Scalable/TUSummary/ExtractorRegistry.cpp
    clang/lib/Analysis/Scalable/TUSummary/TUSummaryBuilder.cpp
    clang/unittests/Analysis/Scalable/ASTEntityMappingTest.cpp
    clang/unittests/Analysis/Scalable/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
    clang/unittests/Analysis/Scalable/BuildNamespaceTest.cpp
    clang/unittests/Analysis/Scalable/CMakeLists.txt
    clang/unittests/Analysis/Scalable/EntityIdTableTest.cpp
    clang/unittests/Analysis/Scalable/EntityIdTest.cpp
    clang/unittests/Analysis/Scalable/EntityLinkageTest.cpp
    clang/unittests/Analysis/Scalable/EntityLinkerTest.cpp
    clang/unittests/Analysis/Scalable/EntityNameTest.cpp
    clang/unittests/Analysis/Scalable/ErrorBuilderTest.cpp
    clang/unittests/Analysis/Scalable/ModelStringConversionsTest.cpp
    clang/unittests/Analysis/Scalable/Registries/FancyAnalysisData.cpp
    clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
    clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.h
    clang/unittests/Analysis/Scalable/Registries/MockSummaryExtractor1.cpp
    clang/unittests/Analysis/Scalable/Registries/MockSummaryExtractor2.cpp
    clang/unittests/Analysis/Scalable/Registries/MockTUSummaryBuilder.h
    clang/unittests/Analysis/Scalable/Registries/SerializationFormatRegistryTest.cpp
    clang/unittests/Analysis/Scalable/Registries/SummaryExtractorRegistryTest.cpp
    clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/JSONFormatTest.cpp
    clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/JSONFormatTest.h
    clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/LUSummaryTest.cpp
    clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/TUSummaryTest.cpp
    clang/unittests/Analysis/Scalable/SummaryData/SummaryDataTest.cpp
    clang/unittests/Analysis/Scalable/SummaryNameTest.cpp
    clang/unittests/Analysis/Scalable/TUSummaryBuilderTest.cpp
    clang/unittests/Analysis/Scalable/TestFixture.cpp
    clang/unittests/Analysis/Scalable/TestFixture.h
    llvm/utils/gn/secondary/clang/lib/Analysis/Scalable/BUILD.gn
    llvm/utils/gn/secondary/clang/unittests/Analysis/Scalable/BUILD.gn


################################################################################
diff  --git a/.github/new-prs-labeler.yml b/.github/new-prs-labeler.yml
index 7daac40b6d6fe..774feaed16fb0 100644
--- a/.github/new-prs-labeler.yml
+++ b/.github/new-prs-labeler.yml
@@ -692,10 +692,10 @@ clang:analysis:
 clang:ssaf:
   - changed-files:
     - any-glob-to-any-file:
-      - clang/include/clang/Analysis/Scalable/**
-      - clang/lib/Analysis/Scalable/**
-      - clang/unittests/Analysis/Scalable/**
       - clang/docs/ScalableStaticAnalysisFramework/**
+      - clang/include/clang/ScalableStaticAnalysisFramework/**
+      - clang/lib/ScalableStaticAnalysisFramework/**
+      - clang/unittests/ScalableStaticAnalysisFramework/**
 
 clang:static analyzer:
   - changed-files:

diff  --git a/clang/docs/ScalableStaticAnalysisFramework/developer-docs/ForceLinkerHeaders.rst b/clang/docs/ScalableStaticAnalysisFramework/developer-docs/ForceLinkerHeaders.rst
index 16ca0ea714d69..c04b2b786308f 100644
--- a/clang/docs/ScalableStaticAnalysisFramework/developer-docs/ForceLinkerHeaders.rst
+++ b/clang/docs/ScalableStaticAnalysisFramework/developer-docs/ForceLinkerHeaders.rst
@@ -66,21 +66,21 @@ Header hierarchy
   SSAFForceLinker.h                   (umbrella — include this in binaries)
   └── SSAFBuiltinForceLinker.h        (upstream built-in anchors only)
 
-- ``clang/include/clang/Analysis/Scalable/SSAFBuiltinForceLinker.h`` — anchors for
+- ``clang/include/clang/ScalableStaticAnalysisFramework/SSAFBuiltinForceLinker.h`` — anchors for
   upstream-provided (built-in) extractors and formats (e.g. ``JSONFormat``).
-- ``clang/include/clang/Analysis/Scalable/SSAFForceLinker.h`` — umbrella header
+- ``clang/include/clang/ScalableStaticAnalysisFramework/SSAFForceLinker.h`` — umbrella header
   that includes ``SSAFBuiltinForceLinker.h``.  This is the header that
   downstream projects should modify to add their own force-linker includes
   (see :doc:`HowToExtend`).
 
 Include the umbrella header with ``// IWYU pragma: keep`` in any translation
 unit that must guarantee all registrations are active — typically the entry
-point of a binary that uses ``clangAnalysisScalable``:
+point of a binary that uses ``clangScalableStaticAnalysisFrameworkCore``:
 
 .. code-block:: c++
 
   // In ExecuteCompilerInvocation.cpp
-  #include "clang/Analysis/Scalable/SSAFForceLinker.h" // IWYU pragma: keep
+  #include "clang/ScalableStaticAnalysisFramework/SSAFForceLinker.h" // IWYU pragma: keep
 
 Naming convention
 =================
@@ -103,10 +103,10 @@ library, regardless of whether any symbols are referenced:
 .. code-block:: bash
 
   # GNU ld / lld (Linux, BSD)
-  -Wl,--whole-archive -lclangAnalysisScalable -Wl,--no-whole-archive
+  -Wl,--whole-archive -lclangScalableStaticAnalysisFrameworkCore -Wl,--no-whole-archive
 
   # Apple ld
-  -Wl,-force_load,libclangAnalysisScalable.a
+  -Wl,-force_load,libclangScalableStaticAnalysisFrameworkCore.a
 
 Since CMake 3.24, the ``$<LINK_LIBRARY:WHOLE_ARCHIVE,...>`` generator expression
 provides a portable way to do the same:
@@ -114,7 +114,7 @@ provides a portable way to do the same:
 .. code-block:: cmake
 
   target_link_libraries(clang PRIVATE
-    "$<LINK_LIBRARY:WHOLE_ARCHIVE,clangAnalysisScalable>")
+    "$<LINK_LIBRARY:WHOLE_ARCHIVE,clangScalableStaticAnalysisFrameworkCore>")
 
 **Why we did not choose this approach**:
 

diff  --git a/clang/docs/ScalableStaticAnalysisFramework/developer-docs/HowToExtend.rst b/clang/docs/ScalableStaticAnalysisFramework/developer-docs/HowToExtend.rst
index 840bca171fb48..7d92d7e6f2de7 100644
--- a/clang/docs/ScalableStaticAnalysisFramework/developer-docs/HowToExtend.rst
+++ b/clang/docs/ScalableStaticAnalysisFramework/developer-docs/HowToExtend.rst
@@ -10,7 +10,7 @@ SSAF is designed to be extensible with new **summary extractors** and **serializ
 Extensions can be added in three ways:
 
 #. **Statically, in-tree** — built as part of the upstream LLVM/Clang tree.
-#. **Statically, out-of-tree (downstream)** — built in a downstream fork or project that links ``clangAnalysisScalable`` as a static library.
+#. **Statically, out-of-tree (downstream)** — built in a downstream fork or project that links ``clangScalableStaticAnalysisFrameworkCore`` as a static library.
 #. **Dynamically, via plugins** — loaded at runtime as shared objects.
 
 All three approaches use the same ``llvm::Registry``-based registration mechanism.
@@ -28,7 +28,7 @@ Step 1: Implement the extractor
 .. code-block:: c++
 
   //--- MyExtractor.h
-  #include "clang/Analysis/Scalable/TUSummary/TUSummaryExtractor.h"
+  #include "clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryExtractor.h"
 
   namespace clang::ssaf {
 
@@ -49,7 +49,7 @@ Step 2: Register the extractor
 
   //--- MyExtractor.cpp
   #include "MyExtractor.h"
-  #include "clang/Analysis/Scalable/TUSummary/ExtractorRegistry.h"
+  #include "clang/ScalableStaticAnalysisFramework/Core/TUSummary/ExtractorRegistry.h"
 
   using namespace clang::ssaf;
 
@@ -74,7 +74,7 @@ Add the following to the appropriate force-linker header:
       SSAFMyExtractorAnchorSource;
 
 For **in-tree** additions, add this to
-``clang/include/clang/Analysis/Scalable/SSAFBuiltinForceLinker.h``.
+``clang/include/clang/ScalableStaticAnalysisFramework/SSAFBuiltinForceLinker.h``.
 
 For **downstream** additions, see `Out-of-tree (downstream) extensions`_ below.
 
@@ -93,7 +93,7 @@ Your format class must inherit from ``SerializationFormat`` and define a ``Forma
 .. code-block:: c++
 
   //--- MyFormat.h
-  #include "clang/Analysis/Scalable/Serialization/SerializationFormat.h"
+  #include "clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormat.h"
   #include "clang/Support/Compiler.h"
   #include "llvm/Support/Registry.h"
 
@@ -121,7 +121,7 @@ Step 2: Register the format
 
   //--- MyFormat.cpp
   #include "MyFormat.h"
-  #include "clang/Analysis/Scalable/Serialization/SerializationFormatRegistry.h"
+  #include "clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormatRegistry.h"
 
   using namespace clang::ssaf;
 
@@ -172,8 +172,8 @@ In-tree extensions
 
 For extensions that are part of the upstream LLVM/Clang tree:
 
-#. Add the anchor to ``clang/include/clang/Analysis/Scalable/SSAFBuiltinForceLinker.h``.
-#. Add the source files to the ``clangAnalysisScalable`` CMake library target.
+#. Add the anchor to ``clang/include/clang/ScalableStaticAnalysisFramework/SSAFBuiltinForceLinker.h``.
+#. Add the source files to the ``clangScalableStaticAnalysisFrameworkCore`` CMake library target.
 #. That's it — the ``SSAFForceLinker.h`` umbrella includes ``SSAFBuiltinForceLinker.h``
    transitively, so any binary that includes the umbrella will pull in the registration.
 

diff  --git a/clang/include/clang/Analysis/Scalable/ASTEntityMapping.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/ASTEntityMapping.h
similarity index 82%
rename from clang/include/clang/Analysis/Scalable/ASTEntityMapping.h
rename to clang/include/clang/ScalableStaticAnalysisFramework/Core/ASTEntityMapping.h
index 0e5fc204c5f1b..5057f8ac4505f 100644
--- a/clang/include/clang/Analysis/Scalable/ASTEntityMapping.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/ASTEntityMapping.h
@@ -6,11 +6,11 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_CLANG_ANALYSIS_SCALABLE_ASTENTITYMAPPING_H
-#define LLVM_CLANG_ANALYSIS_SCALABLE_ASTENTITYMAPPING_H
+#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_ASTENTITYMAPPING_H
+#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_ASTENTITYMAPPING_H
 
 #include "clang/AST/Decl.h"
-#include "clang/Analysis/Scalable/Model/EntityName.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityName.h"
 #include "llvm/ADT/StringRef.h"
 #include <optional>
 
@@ -44,4 +44,4 @@ std::optional<EntityName> getEntityNameForReturn(const FunctionDecl *FD);
 
 } // namespace clang::ssaf
 
-#endif // LLVM_CLANG_ANALYSIS_SCALABLE_ASTENTITYMAPPING_H
+#endif // LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_ASTENTITYMAPPING_H

diff  --git a/clang/include/clang/Analysis/Scalable/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
similarity index 88%
rename from clang/include/clang/Analysis/Scalable/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
rename to clang/include/clang/ScalableStaticAnalysisFramework/Core/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
index cae722c837ab0..5b58ed0684333 100644
--- a/clang/include/clang/Analysis/Scalable/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
@@ -6,12 +6,12 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_CLANG_ANALYSIS_SCALABLE_ANALYSES_UNSAFEBUFFERUSAGE_UNSAFEBUFFERUSAGE_H
-#define LLVM_CLANG_ANALYSIS_SCALABLE_ANALYSES_UNSAFEBUFFERUSAGE_UNSAFEBUFFERUSAGE_H
+#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_ANALYSES_UNSAFEBUFFERUSAGE_UNSAFEBUFFERUSAGE_H
+#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_ANALYSES_UNSAFEBUFFERUSAGE_UNSAFEBUFFERUSAGE_H
 
-#include "clang/Analysis/Scalable/Model/EntityId.h"
-#include "clang/Analysis/Scalable/Model/SummaryName.h"
-#include "clang/Analysis/Scalable/TUSummary/EntitySummary.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityId.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/SummaryName.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/TUSummary/EntitySummary.h"
 #include "llvm/ADT/iterator_range.h"
 #include <set>
 
@@ -117,4 +117,4 @@ class UnsafeBufferUsageEntitySummary final : public EntitySummary {
 };
 } // namespace clang::ssaf
 
-#endif // LLVM_CLANG_ANALYSIS_SCALABLE_ANALYSES_UNSAFEBUFFERUSAGE_UNSAFEBUFFERUSAGE_H
+#endif // LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_ANALYSES_UNSAFEBUFFERUSAGE_UNSAFEBUFFERUSAGE_H

diff  --git a/clang/include/clang/Analysis/Scalable/Analyses/UnsafeBufferUsage/UnsafeBufferUsageBuilder.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/Analyses/UnsafeBufferUsage/UnsafeBufferUsageBuilder.h
similarity index 65%
rename from clang/include/clang/Analysis/Scalable/Analyses/UnsafeBufferUsage/UnsafeBufferUsageBuilder.h
rename to clang/include/clang/ScalableStaticAnalysisFramework/Core/Analyses/UnsafeBufferUsage/UnsafeBufferUsageBuilder.h
index 1465068ab6840..db6c097510a57 100644
--- a/clang/include/clang/Analysis/Scalable/Analyses/UnsafeBufferUsage/UnsafeBufferUsageBuilder.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/Analyses/UnsafeBufferUsage/UnsafeBufferUsageBuilder.h
@@ -5,11 +5,12 @@
 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 //
 //===----------------------------------------------------------------------===//
-#ifndef LLVM_CLANG_ANALYSIS_SCALABLE_ANALYSES_UNSAFEBUFFERUSAGE_UNSAFEBUFFERUSAGEBUILDER_H
-#define LLVM_CLANG_ANALYSIS_SCALABLE_ANALYSES_UNSAFEBUFFERUSAGE_UNSAFEBUFFERUSAGEBUILDER_H
 
-#include "clang/Analysis/Scalable/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h"
-#include "clang/Analysis/Scalable/TUSummary/TUSummaryBuilder.h"
+#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_ANALYSES_UNSAFEBUFFERUSAGE_UNSAFEBUFFERUSAGEBUILDER_H
+#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_ANALYSES_UNSAFEBUFFERUSAGE_UNSAFEBUFFERUSAGEBUILDER_H
+
+#include "clang/ScalableStaticAnalysisFramework/Core/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryBuilder.h"
 #include <memory>
 
 namespace clang::ssaf {
@@ -28,4 +29,4 @@ class UnsafeBufferUsageTUSummaryBuilder : public TUSummaryBuilder {
 };
 } // namespace clang::ssaf
 
-#endif // LLVM_CLANG_ANALYSIS_SCALABLE_ANALYSES_UNSAFEBUFFERUSAGE_UNSAFEBUFFERUSAGEBUILDER_H
+#endif // LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_ANALYSES_UNSAFEBUFFERUSAGE_UNSAFEBUFFERUSAGEBUILDER_H

diff  --git a/clang/include/clang/Analysis/Scalable/EntityLinker/EntityLinker.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntityLinker.h
similarity index 91%
rename from clang/include/clang/Analysis/Scalable/EntityLinker/EntityLinker.h
rename to clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntityLinker.h
index 28d70e9e5f1fd..be8b2f43b1708 100644
--- a/clang/include/clang/Analysis/Scalable/EntityLinker/EntityLinker.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntityLinker.h
@@ -11,10 +11,10 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_CLANG_ANALYSIS_SCALABLE_ENTITYLINKER_ENTITYLINKER_H
-#define LLVM_CLANG_ANALYSIS_SCALABLE_ENTITYLINKER_ENTITYLINKER_H
+#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_ENTITYLINKER_ENTITYLINKER_H
+#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_ENTITYLINKER_ENTITYLINKER_H
 
-#include "clang/Analysis/Scalable/EntityLinker/LUSummaryEncoding.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummaryEncoding.h"
 #include "llvm/Support/Error.h"
 #include <map>
 #include <memory>
@@ -88,4 +88,4 @@ class EntityLinker {
 
 } // namespace clang::ssaf
 
-#endif // LLVM_CLANG_ANALYSIS_SCALABLE_ENTITYLINKER_ENTITYLINKER_H
+#endif // LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_ENTITYLINKER_ENTITYLINKER_H

diff  --git a/clang/include/clang/Analysis/Scalable/EntityLinker/EntitySummaryEncoding.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntitySummaryEncoding.h
similarity index 79%
rename from clang/include/clang/Analysis/Scalable/EntityLinker/EntitySummaryEncoding.h
rename to clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntitySummaryEncoding.h
index 0a18bd6d1d0f9..461fd74c8cafe 100644
--- a/clang/include/clang/Analysis/Scalable/EntityLinker/EntitySummaryEncoding.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntitySummaryEncoding.h
@@ -11,10 +11,10 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_CLANG_ANALYSIS_SCALABLE_ENTITYLINKER_ENTITYSUMMARYENCODING_H
-#define LLVM_CLANG_ANALYSIS_SCALABLE_ENTITYLINKER_ENTITYSUMMARYENCODING_H
+#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_ENTITYLINKER_ENTITYSUMMARYENCODING_H
+#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_ENTITYLINKER_ENTITYSUMMARYENCODING_H
 
-#include "clang/Analysis/Scalable/Model/EntityId.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityId.h"
 #include "llvm/Support/Error.h"
 #include <map>
 
@@ -39,4 +39,4 @@ class EntitySummaryEncoding {
 
 } // namespace clang::ssaf
 
-#endif // LLVM_CLANG_ANALYSIS_SCALABLE_ENTITYLINKER_ENTITYSUMMARYENCODING_H
+#endif // LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_ENTITYLINKER_ENTITYSUMMARYENCODING_H

diff  --git a/clang/include/clang/Analysis/Scalable/EntityLinker/LUSummary.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummary.h
similarity index 66%
rename from clang/include/clang/Analysis/Scalable/EntityLinker/LUSummary.h
rename to clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummary.h
index 7d0ec92f5c9e7..552fff04a4c01 100644
--- a/clang/include/clang/Analysis/Scalable/EntityLinker/LUSummary.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummary.h
@@ -11,15 +11,15 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_CLANG_ANALYSIS_SCALABLE_ENTITYLINKER_LUSUMMARY_H
-#define LLVM_CLANG_ANALYSIS_SCALABLE_ENTITYLINKER_LUSUMMARY_H
-
-#include "clang/Analysis/Scalable/Model/BuildNamespace.h"
-#include "clang/Analysis/Scalable/Model/EntityId.h"
-#include "clang/Analysis/Scalable/Model/EntityIdTable.h"
-#include "clang/Analysis/Scalable/Model/EntityLinkage.h"
-#include "clang/Analysis/Scalable/Model/SummaryName.h"
-#include "clang/Analysis/Scalable/TUSummary/EntitySummary.h"
+#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_ENTITYLINKER_LUSUMMARY_H
+#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_ENTITYLINKER_LUSUMMARY_H
+
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/BuildNamespace.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityId.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityIdTable.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityLinkage.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/SummaryName.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/TUSummary/EntitySummary.h"
 #include <map>
 #include <memory>
 
@@ -51,4 +51,4 @@ class LUSummary {
 
 } // namespace clang::ssaf
 
-#endif // LLVM_CLANG_ANALYSIS_SCALABLE_ENTITYLINKER_LUSUMMARY_H
+#endif // LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_ENTITYLINKER_LUSUMMARY_H

diff  --git a/clang/include/clang/Analysis/Scalable/EntityLinker/LUSummaryEncoding.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummaryEncoding.h
similarity index 69%
rename from clang/include/clang/Analysis/Scalable/EntityLinker/LUSummaryEncoding.h
rename to clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummaryEncoding.h
index 63ac97d2cef32..a4248a4d1e79d 100644
--- a/clang/include/clang/Analysis/Scalable/EntityLinker/LUSummaryEncoding.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummaryEncoding.h
@@ -11,15 +11,15 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_CLANG_ANALYSIS_SCALABLE_ENTITYLINKER_LUSUMMARYENCODING_H
-#define LLVM_CLANG_ANALYSIS_SCALABLE_ENTITYLINKER_LUSUMMARYENCODING_H
-
-#include "clang/Analysis/Scalable/EntityLinker/EntitySummaryEncoding.h"
-#include "clang/Analysis/Scalable/Model/BuildNamespace.h"
-#include "clang/Analysis/Scalable/Model/EntityId.h"
-#include "clang/Analysis/Scalable/Model/EntityIdTable.h"
-#include "clang/Analysis/Scalable/Model/EntityLinkage.h"
-#include "clang/Analysis/Scalable/Model/SummaryName.h"
+#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_ENTITYLINKER_LUSUMMARYENCODING_H
+#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_ENTITYLINKER_LUSUMMARYENCODING_H
+
+#include "clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntitySummaryEncoding.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/BuildNamespace.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityId.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityIdTable.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityLinkage.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/SummaryName.h"
 #include <map>
 #include <memory>
 
@@ -56,4 +56,4 @@ class LUSummaryEncoding {
 
 } // namespace clang::ssaf
 
-#endif // LLVM_CLANG_ANALYSIS_SCALABLE_ENTITYLINKER_LUSUMMARYENCODING_H
+#endif // LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_ENTITYLINKER_LUSUMMARYENCODING_H

diff  --git a/clang/include/clang/Analysis/Scalable/EntityLinker/TUSummaryEncoding.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/TUSummaryEncoding.h
similarity index 70%
rename from clang/include/clang/Analysis/Scalable/EntityLinker/TUSummaryEncoding.h
rename to clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/TUSummaryEncoding.h
index a473e9fbf7b46..4fcf91d1c0423 100644
--- a/clang/include/clang/Analysis/Scalable/EntityLinker/TUSummaryEncoding.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/TUSummaryEncoding.h
@@ -11,15 +11,15 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_CLANG_ANALYSIS_SCALABLE_ENTITYLINKER_TUSUMMARYENCODING_H
-#define LLVM_CLANG_ANALYSIS_SCALABLE_ENTITYLINKER_TUSUMMARYENCODING_H
-
-#include "clang/Analysis/Scalable/EntityLinker/EntitySummaryEncoding.h"
-#include "clang/Analysis/Scalable/Model/BuildNamespace.h"
-#include "clang/Analysis/Scalable/Model/EntityId.h"
-#include "clang/Analysis/Scalable/Model/EntityIdTable.h"
-#include "clang/Analysis/Scalable/Model/EntityLinkage.h"
-#include "clang/Analysis/Scalable/Model/SummaryName.h"
+#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_ENTITYLINKER_TUSUMMARYENCODING_H
+#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_ENTITYLINKER_TUSUMMARYENCODING_H
+
+#include "clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntitySummaryEncoding.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/BuildNamespace.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityId.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityIdTable.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityLinkage.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/SummaryName.h"
 #include <map>
 #include <memory>
 
@@ -57,4 +57,4 @@ class TUSummaryEncoding {
 
 } // namespace clang::ssaf
 
-#endif // LLVM_CLANG_ANALYSIS_SCALABLE_ENTITYLINKER_TUSUMMARYENCODING_H
+#endif // LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_ENTITYLINKER_TUSUMMARYENCODING_H

diff  --git a/clang/include/clang/Analysis/Scalable/Model/BuildNamespace.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/BuildNamespace.h
similarity index 95%
rename from clang/include/clang/Analysis/Scalable/Model/BuildNamespace.h
rename to clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/BuildNamespace.h
index 39307d976e986..16c6fd6fcb4ef 100644
--- a/clang/include/clang/Analysis/Scalable/Model/BuildNamespace.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/BuildNamespace.h
@@ -15,8 +15,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_CLANG_ANALYSIS_SCALABLE_MODEL_BUILDNAMESPACE_H
-#define LLVM_CLANG_ANALYSIS_SCALABLE_MODEL_BUILDNAMESPACE_H
+#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_MODEL_BUILDNAMESPACE_H
+#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_MODEL_BUILDNAMESPACE_H
 
 #include "llvm/ADT/STLExtras.h"
 #include "llvm/ADT/StringRef.h"
@@ -126,4 +126,4 @@ llvm::raw_ostream &operator<<(llvm::raw_ostream &OS,
 
 } // namespace clang::ssaf
 
-#endif // LLVM_CLANG_ANALYSIS_SCALABLE_MODEL_BUILDNAMESPACE_H
+#endif // LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_MODEL_BUILDNAMESPACE_H

diff  --git a/clang/include/clang/Analysis/Scalable/Model/EntityId.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/EntityId.h
similarity index 88%
rename from clang/include/clang/Analysis/Scalable/Model/EntityId.h
rename to clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/EntityId.h
index 11940e7b40a8b..0da76e17c823e 100644
--- a/clang/include/clang/Analysis/Scalable/Model/EntityId.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/EntityId.h
@@ -12,8 +12,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_CLANG_ANALYSIS_SCALABLE_MODEL_ENTITY_ID_H
-#define LLVM_CLANG_ANALYSIS_SCALABLE_MODEL_ENTITY_ID_H
+#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_MODEL_ENTITYID_H
+#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_MODEL_ENTITYID_H
 
 #include "llvm/Support/raw_ostream.h"
 #include <cstddef>
@@ -51,4 +51,4 @@ llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, const EntityId &Id);
 
 } // namespace clang::ssaf
 
-#endif // LLVM_CLANG_ANALYSIS_SCALABLE_MODEL_ENTITY_ID_H
+#endif // LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_MODEL_ENTITYID_H

diff  --git a/clang/include/clang/Analysis/Scalable/Model/EntityIdTable.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/EntityIdTable.h
similarity index 79%
rename from clang/include/clang/Analysis/Scalable/Model/EntityIdTable.h
rename to clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/EntityIdTable.h
index 6c5f27907adb4..d74b871df3e16 100644
--- a/clang/include/clang/Analysis/Scalable/Model/EntityIdTable.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/EntityIdTable.h
@@ -6,11 +6,11 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_CLANG_ANALYSIS_SCALABLE_MODEL_ENTITY_ID_TABLE_H
-#define LLVM_CLANG_ANALYSIS_SCALABLE_MODEL_ENTITY_ID_TABLE_H
+#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_MODEL_ENTITYIDTABLE_H
+#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_MODEL_ENTITYIDTABLE_H
 
-#include "clang/Analysis/Scalable/Model/EntityId.h"
-#include "clang/Analysis/Scalable/Model/EntityName.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityId.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityName.h"
 #include <functional>
 #include <map>
 
@@ -50,4 +50,4 @@ class EntityIdTable {
 
 } // namespace clang::ssaf
 
-#endif // LLVM_CLANG_ANALYSIS_SCALABLE_MODEL_ENTITY_ID_TABLE_H
+#endif // LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_MODEL_ENTITYIDTABLE_H

diff  --git a/clang/include/clang/Analysis/Scalable/Model/EntityLinkage.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/EntityLinkage.h
similarity index 87%
rename from clang/include/clang/Analysis/Scalable/Model/EntityLinkage.h
rename to clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/EntityLinkage.h
index 3e9374d6ddab3..cdae99ad0b6b2 100644
--- a/clang/include/clang/Analysis/Scalable/Model/EntityLinkage.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/EntityLinkage.h
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_CLANG_ANALYSIS_SCALABLE_MODEL_ENTITYLINKAGE_H
-#define LLVM_CLANG_ANALYSIS_SCALABLE_MODEL_ENTITYLINKAGE_H
+#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_MODEL_ENTITYLINKAGE_H
+#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_MODEL_ENTITYLINKAGE_H
 
 #include "llvm/ADT/StringRef.h"
 #include "llvm/Support/raw_ostream.h"
@@ -49,4 +49,4 @@ llvm::raw_ostream &operator<<(llvm::raw_ostream &OS,
 
 } // namespace clang::ssaf
 
-#endif // LLVM_CLANG_ANALYSIS_SCALABLE_MODEL_ENTITYLINKAGE_H
+#endif // LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_MODEL_ENTITYLINKAGE_H

diff  --git a/clang/include/clang/Analysis/Scalable/Model/EntityName.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/EntityName.h
similarity index 87%
rename from clang/include/clang/Analysis/Scalable/Model/EntityName.h
rename to clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/EntityName.h
index 05dc1e1205a18..853ac96209a86 100644
--- a/clang/include/clang/Analysis/Scalable/Model/EntityName.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/EntityName.h
@@ -6,10 +6,10 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_CLANG_ANALYSIS_SCALABLE_MODEL_ENTITYNAME_H
-#define LLVM_CLANG_ANALYSIS_SCALABLE_MODEL_ENTITYNAME_H
+#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_MODEL_ENTITYNAME_H
+#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_MODEL_ENTITYNAME_H
 
-#include "clang/Analysis/Scalable/Model/BuildNamespace.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/BuildNamespace.h"
 #include "llvm/ADT/SmallString.h"
 #include "llvm/ADT/StringRef.h"
 #include "llvm/Support/raw_ostream.h"
@@ -59,4 +59,4 @@ llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, const EntityName &EN);
 
 } // namespace clang::ssaf
 
-#endif // LLVM_CLANG_ANALYSIS_SCALABLE_MODEL_ENTITYNAME_H
+#endif // LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_MODEL_ENTITYNAME_H

diff  --git a/clang/include/clang/Analysis/Scalable/Model/PrivateFieldNames.def b/clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/PrivateFieldNames.def
similarity index 95%
rename from clang/include/clang/Analysis/Scalable/Model/PrivateFieldNames.def
rename to clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/PrivateFieldNames.def
index 8ef57b9a1aa19..1ee2a809430f4 100644
--- a/clang/include/clang/Analysis/Scalable/Model/PrivateFieldNames.def
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/PrivateFieldNames.def
@@ -1,4 +1,4 @@
-//===-- PrivateFieldNames.def -----------------------------------*- C++ -*-===//
+//===- PrivateFieldNames.def ------------------------------------*- C++ -*-===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 // See https://llvm.org/LICENSE.txt for license information.

diff  --git a/clang/include/clang/Analysis/Scalable/Model/SummaryName.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/SummaryName.h
similarity index 84%
rename from clang/include/clang/Analysis/Scalable/Model/SummaryName.h
rename to clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/SummaryName.h
index 3017ade86f95c..99b5308e61a4e 100644
--- a/clang/include/clang/Analysis/Scalable/Model/SummaryName.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/SummaryName.h
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_CLANG_ANALYSIS_SCALABLE_MODEL_SUMMARYNAME_H
-#define LLVM_CLANG_ANALYSIS_SCALABLE_MODEL_SUMMARYNAME_H
+#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_MODEL_SUMMARYNAME_H
+#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_MODEL_SUMMARYNAME_H
 
 #include "llvm/ADT/StringRef.h"
 #include "llvm/Support/raw_ostream.h"
@@ -38,4 +38,4 @@ class SummaryName {
 llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, const SummaryName &SN);
 } // namespace clang::ssaf
 
-#endif // LLVM_CLANG_ANALYSIS_SCALABLE_MODEL_SUMMARYNAME_H
+#endif // LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_MODEL_SUMMARYNAME_H

diff  --git a/clang/include/clang/Analysis/Scalable/Serialization/JSONFormat.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat.h
similarity index 95%
rename from clang/include/clang/Analysis/Scalable/Serialization/JSONFormat.h
rename to clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat.h
index aa979b03bbd15..6c5303c928661 100644
--- a/clang/include/clang/Analysis/Scalable/Serialization/JSONFormat.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat.h
@@ -10,11 +10,11 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef CLANG_ANALYSIS_SCALABLE_SERIALIZATION_JSONFORMAT_H
-#define CLANG_ANALYSIS_SCALABLE_SERIALIZATION_JSONFORMAT_H
+#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_SERIALIZATION_JSONFORMAT_H
+#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_SERIALIZATION_JSONFORMAT_H
 
-#include "clang/Analysis/Scalable/Model/EntityLinkage.h"
-#include "clang/Analysis/Scalable/Serialization/SerializationFormat.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityLinkage.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormat.h"
 #include "clang/Support/Compiler.h"
 #include "llvm/ADT/STLFunctionalExtras.h"
 #include "llvm/Support/JSON.h"
@@ -199,4 +199,4 @@ extern template class CLANG_TEMPLATE_ABI
     Registry<clang::ssaf::JSONFormat::FormatInfo>;
 } // namespace llvm
 
-#endif // CLANG_ANALYSIS_SCALABLE_SERIALIZATION_JSONFORMAT_H
+#endif // LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_SERIALIZATION_JSONFORMAT_H

diff  --git a/clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormat.h
similarity index 77%
rename from clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h
rename to clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormat.h
index cb545ca534ece..7aebf06a6368e 100644
--- a/clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormat.h
@@ -11,15 +11,15 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef CLANG_ANALYSIS_SCALABLE_SERIALIZATION_SERIALIZATION_FORMAT_H
-#define CLANG_ANALYSIS_SCALABLE_SERIALIZATION_SERIALIZATION_FORMAT_H
-
-#include "clang/Analysis/Scalable/EntityLinker/LUSummary.h"
-#include "clang/Analysis/Scalable/EntityLinker/LUSummaryEncoding.h"
-#include "clang/Analysis/Scalable/EntityLinker/TUSummaryEncoding.h"
-#include "clang/Analysis/Scalable/Model/BuildNamespace.h"
-#include "clang/Analysis/Scalable/Model/SummaryName.h"
-#include "clang/Analysis/Scalable/TUSummary/TUSummary.h"
+#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_SERIALIZATION_SERIALIZATIONFORMAT_H
+#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_SERIALIZATION_SERIALIZATIONFORMAT_H
+
+#include "clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummary.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummaryEncoding.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/EntityLinker/TUSummaryEncoding.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/BuildNamespace.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/SummaryName.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummary.h"
 #include "llvm/ADT/STLFunctionalExtras.h"
 #include "llvm/ADT/StringRef.h"
 #include "llvm/Support/Error.h"
@@ -70,7 +70,7 @@ class SerializationFormat {
 #define FIELD(CLASS, FIELD_NAME)                                               \
   static const auto &get##FIELD_NAME(const CLASS &X) { return X.FIELD_NAME; }  \
   static auto &get##FIELD_NAME(CLASS &X) { return X.FIELD_NAME; }
-#include "clang/Analysis/Scalable/Model/PrivateFieldNames.def"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/PrivateFieldNames.def"
 };
 
 template <class SerializerFn, class DeserializerFn> struct FormatInfoEntry {
@@ -87,4 +87,4 @@ template <class SerializerFn, class DeserializerFn> struct FormatInfoEntry {
 
 } // namespace clang::ssaf
 
-#endif // CLANG_ANALYSIS_SCALABLE_SERIALIZATION_SERIALIZATION_FORMAT_H
+#endif // LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_SERIALIZATION_SERIALIZATIONFORMAT_H

diff  --git a/clang/include/clang/Analysis/Scalable/Serialization/SerializationFormatRegistry.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormatRegistry.h
similarity index 87%
rename from clang/include/clang/Analysis/Scalable/Serialization/SerializationFormatRegistry.h
rename to clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormatRegistry.h
index ef060dd27c522..9f83955b884e8 100644
--- a/clang/include/clang/Analysis/Scalable/Serialization/SerializationFormatRegistry.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormatRegistry.h
@@ -51,10 +51,10 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef CLANG_ANALYSIS_SCALABLE_SERIALIZATION_SERIALIZATION_FORMAT_REGISTRY_H
-#define CLANG_ANALYSIS_SCALABLE_SERIALIZATION_SERIALIZATION_FORMAT_REGISTRY_H
+#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_SERIALIZATION_SERIALIZATIONFORMATREGISTRY_H
+#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_SERIALIZATION_SERIALIZATIONFORMATREGISTRY_H
 
-#include "clang/Analysis/Scalable/Serialization/SerializationFormat.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormat.h"
 #include "clang/Support/Compiler.h"
 #include "llvm/ADT/StringRef.h"
 #include "llvm/Support/Registry.h"
@@ -80,4 +80,4 @@ extern template class CLANG_TEMPLATE_ABI
     Registry<clang::ssaf::SerializationFormat>;
 } // namespace llvm
 
-#endif // CLANG_ANALYSIS_SCALABLE_SERIALIZATION_SERIALIZATION_FORMAT_REGISTRY_H
+#endif // LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_SERIALIZATION_SERIALIZATIONFORMATREGISTRY_H

diff  --git a/clang/include/clang/Analysis/Scalable/SummaryData/LUSummaryConsumer.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/LUSummaryConsumer.h
similarity index 87%
rename from clang/include/clang/Analysis/Scalable/SummaryData/LUSummaryConsumer.h
rename to clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/LUSummaryConsumer.h
index 6ac2e564e1c48..b26e5fadc58c2 100644
--- a/clang/include/clang/Analysis/Scalable/SummaryData/LUSummaryConsumer.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/LUSummaryConsumer.h
@@ -1,4 +1,4 @@
-//===- LUSummaryConsumer.h ------------------------------------------------===//
+//===- LUSummaryConsumer.h --------------------------------------*- C++ -*-===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 // See https://llvm.org/LICENSE.txt for license information.
@@ -11,12 +11,12 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_CLANG_ANALYSIS_SCALABLE_SUMMARYDATA_LUSUMMARYCONSUMER_H
-#define LLVM_CLANG_ANALYSIS_SCALABLE_SUMMARYDATA_LUSUMMARYCONSUMER_H
+#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_SUMMARYDATA_LUSUMMARYCONSUMER_H
+#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_SUMMARYDATA_LUSUMMARYCONSUMER_H
 
-#include "clang/Analysis/Scalable/EntityLinker/LUSummary.h"
-#include "clang/Analysis/Scalable/Model/SummaryName.h"
-#include "clang/Analysis/Scalable/SummaryData/SummaryDataStore.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummary.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/SummaryName.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataStore.h"
 #include "llvm/ADT/ArrayRef.h"
 #include "llvm/Support/Error.h"
 #include <memory>
@@ -90,4 +90,4 @@ class LUSummaryConsumer final {
 
 } // namespace clang::ssaf
 
-#endif // LLVM_CLANG_ANALYSIS_SCALABLE_SUMMARYDATA_LUSUMMARYCONSUMER_H
+#endif // LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_SUMMARYDATA_LUSUMMARYCONSUMER_H

diff  --git a/clang/include/clang/Analysis/Scalable/SummaryData/SummaryData.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryData.h
similarity index 74%
rename from clang/include/clang/Analysis/Scalable/SummaryData/SummaryData.h
rename to clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryData.h
index 35403ecda5d6d..83386a684181e 100644
--- a/clang/include/clang/Analysis/Scalable/SummaryData/SummaryData.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryData.h
@@ -1,4 +1,4 @@
-//===- SummaryData.h ------------------------------------------------------===//
+//===- SummaryData.h --------------------------------------------*- C++ -*-===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 // See https://llvm.org/LICENSE.txt for license information.
@@ -12,8 +12,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_CLANG_ANALYSIS_SCALABLE_SUMMARYDATA_SUMMARYDATA_H
-#define LLVM_CLANG_ANALYSIS_SCALABLE_SUMMARYDATA_SUMMARYDATA_H
+#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_SUMMARYDATA_SUMMARYDATA_H
+#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_SUMMARYDATA_SUMMARYDATA_H
 
 namespace clang::ssaf {
 
@@ -25,4 +25,4 @@ class SummaryData {
 
 } // namespace clang::ssaf
 
-#endif // LLVM_CLANG_ANALYSIS_SCALABLE_SUMMARYDATA_SUMMARYDATA_H
+#endif // LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_SUMMARYDATA_SUMMARYDATA_H

diff  --git a/clang/include/clang/Analysis/Scalable/SummaryData/SummaryDataBuilder.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataBuilder.h
similarity index 83%
rename from clang/include/clang/Analysis/Scalable/SummaryData/SummaryDataBuilder.h
rename to clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataBuilder.h
index f7784b861130f..38a97bb866e25 100644
--- a/clang/include/clang/Analysis/Scalable/SummaryData/SummaryDataBuilder.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataBuilder.h
@@ -1,4 +1,4 @@
-//===- SummaryDataBuilder.h -----------------------------------------------===//
+//===- SummaryDataBuilder.h -------------------------------------*- C++ -*-===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 // See https://llvm.org/LICENSE.txt for license information.
@@ -12,14 +12,14 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_CLANG_ANALYSIS_SCALABLE_SUMMARYDATA_SUMMARYDATABUILDER_H
-#define LLVM_CLANG_ANALYSIS_SCALABLE_SUMMARYDATA_SUMMARYDATABUILDER_H
+#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_SUMMARYDATA_SUMMARYDATABUILDER_H
+#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_SUMMARYDATA_SUMMARYDATABUILDER_H
 
-#include "clang/Analysis/Scalable/Model/EntityId.h"
-#include "clang/Analysis/Scalable/Model/SummaryName.h"
-#include "clang/Analysis/Scalable/SummaryData/SummaryData.h"
-#include "clang/Analysis/Scalable/SummaryData/SummaryDataTraits.h"
-#include "clang/Analysis/Scalable/TUSummary/EntitySummary.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityId.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/SummaryName.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryData.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataTraits.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/TUSummary/EntitySummary.h"
 #include <memory>
 
 namespace clang::ssaf {
@@ -92,4 +92,4 @@ class SummaryDataBuilder : public SummaryDataBuilderBase {
 
 } // namespace clang::ssaf
 
-#endif // LLVM_CLANG_ANALYSIS_SCALABLE_SUMMARYDATA_SUMMARYDATABUILDER_H
+#endif // LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_SUMMARYDATA_SUMMARYDATABUILDER_H

diff  --git a/clang/include/clang/Analysis/Scalable/SummaryData/SummaryDataBuilderRegistry.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataBuilderRegistry.h
similarity index 84%
rename from clang/include/clang/Analysis/Scalable/SummaryData/SummaryDataBuilderRegistry.h
rename to clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataBuilderRegistry.h
index 7ee6a214486bf..630e1c298f9e1 100644
--- a/clang/include/clang/Analysis/Scalable/SummaryData/SummaryDataBuilderRegistry.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataBuilderRegistry.h
@@ -1,4 +1,4 @@
-//===- SummaryDataBuilderRegistry.h ---------------------------------------===//
+//===- SummaryDataBuilderRegistry.h -----------------------------*- C++ -*-===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 // See https://llvm.org/LICENSE.txt for license information.
@@ -19,10 +19,10 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_CLANG_ANALYSIS_SCALABLE_SUMMARYDATA_SUMMARYDATABUILDERREGISTRY_H
-#define LLVM_CLANG_ANALYSIS_SCALABLE_SUMMARYDATA_SUMMARYDATABUILDERREGISTRY_H
+#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_SUMMARYDATA_SUMMARYDATABUILDERREGISTRY_H
+#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_SUMMARYDATA_SUMMARYDATABUILDERREGISTRY_H
 
-#include "clang/Analysis/Scalable/SummaryData/SummaryDataBuilder.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataBuilder.h"
 #include "llvm/Support/Registry.h"
 #include <memory>
 #include <string>
@@ -69,4 +69,4 @@ class SummaryDataBuilderRegistry {
 
 } // namespace clang::ssaf
 
-#endif // LLVM_CLANG_ANALYSIS_SCALABLE_SUMMARYDATA_SUMMARYDATABUILDERREGISTRY_H
+#endif // LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_SUMMARYDATA_SUMMARYDATABUILDERREGISTRY_H

diff  --git a/clang/include/clang/Analysis/Scalable/SummaryData/SummaryDataStore.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataStore.h
similarity index 86%
rename from clang/include/clang/Analysis/Scalable/SummaryData/SummaryDataStore.h
rename to clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataStore.h
index 9a091ed43880c..f817dda9745c1 100644
--- a/clang/include/clang/Analysis/Scalable/SummaryData/SummaryDataStore.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataStore.h
@@ -1,4 +1,4 @@
-//===- SummaryDataStore.h -------------------------------------------------===//
+//===- SummaryDataStore.h ---------------------------------------*- C++ -*-===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 // See https://llvm.org/LICENSE.txt for license information.
@@ -11,13 +11,13 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_CLANG_ANALYSIS_SCALABLE_SUMMARYDATA_SUMMARYDATASTORE_H
-#define LLVM_CLANG_ANALYSIS_SCALABLE_SUMMARYDATA_SUMMARYDATASTORE_H
+#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_SUMMARYDATA_SUMMARYDATASTORE_H
+#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_SUMMARYDATA_SUMMARYDATASTORE_H
 
-#include "clang/Analysis/Scalable/Model/SummaryName.h"
-#include "clang/Analysis/Scalable/SummaryData/SummaryData.h"
-#include "clang/Analysis/Scalable/SummaryData/SummaryDataTraits.h"
-#include "clang/Analysis/Scalable/Support/ErrorBuilder.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/SummaryName.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryData.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataTraits.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Support/ErrorBuilder.h"
 #include "llvm/Support/Error.h"
 #include <map>
 #include <memory>
@@ -112,4 +112,4 @@ class SummaryDataStore {
 
 } // namespace clang::ssaf
 
-#endif // LLVM_CLANG_ANALYSIS_SCALABLE_SUMMARYDATA_SUMMARYDATASTORE_H
+#endif // LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_SUMMARYDATA_SUMMARYDATASTORE_H

diff  --git a/clang/include/clang/Analysis/Scalable/SummaryData/SummaryDataTraits.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataTraits.h
similarity index 77%
rename from clang/include/clang/Analysis/Scalable/SummaryData/SummaryDataTraits.h
rename to clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataTraits.h
index 4c41da9266c5a..81907bdbfd057 100644
--- a/clang/include/clang/Analysis/Scalable/SummaryData/SummaryDataTraits.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataTraits.h
@@ -1,4 +1,4 @@
-//===- SummaryDataTraits.h ------------------------------------------------===//
+//===- SummaryDataTraits.h --------------------------------------*- C++ -*-===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 // See https://llvm.org/LICENSE.txt for license information.
@@ -10,10 +10,10 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_CLANG_ANALYSIS_SCALABLE_SUMMARYDATA_SUMMARYDATATRAITS_H
-#define LLVM_CLANG_ANALYSIS_SCALABLE_SUMMARYDATA_SUMMARYDATATRAITS_H
+#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_SUMMARYDATA_SUMMARYDATATRAITS_H
+#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_SUMMARYDATA_SUMMARYDATATRAITS_H
 
-#include "clang/Analysis/Scalable/Model/SummaryName.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/SummaryName.h"
 #include <type_traits>
 
 namespace clang::ssaf {
@@ -35,4 +35,4 @@ struct HasSummaryName<T, std::void_t<decltype(T::summaryName())>>
 
 } // namespace clang::ssaf
 
-#endif // LLVM_CLANG_ANALYSIS_SCALABLE_SUMMARYDATA_SUMMARYDATATRAITS_H
+#endif // LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_SUMMARYDATA_SUMMARYDATATRAITS_H

diff  --git a/clang/include/clang/Analysis/Scalable/Support/ErrorBuilder.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/Support/ErrorBuilder.h
similarity index 96%
rename from clang/include/clang/Analysis/Scalable/Support/ErrorBuilder.h
rename to clang/include/clang/ScalableStaticAnalysisFramework/Core/Support/ErrorBuilder.h
index a22936663fa39..2cce23766b026 100644
--- a/clang/include/clang/Analysis/Scalable/Support/ErrorBuilder.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/Support/ErrorBuilder.h
@@ -11,8 +11,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_CLANG_ANALYSIS_SCALABLE_SUPPORT_ERRORBUILDER_H
-#define LLVM_CLANG_ANALYSIS_SCALABLE_SUPPORT_ERRORBUILDER_H
+#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_SUPPORT_ERRORBUILDER_H
+#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_SUPPORT_ERRORBUILDER_H
 
 #include "llvm/Support/Error.h"
 #include "llvm/Support/FormatVariadic.h"
@@ -207,4 +207,4 @@ class ErrorBuilder {
 
 } // namespace clang::ssaf
 
-#endif // LLVM_CLANG_ANALYSIS_SCALABLE_SUPPORT_ERRORBUILDER_H
+#endif // LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_SUPPORT_ERRORBUILDER_H

diff  --git a/clang/include/clang/Analysis/Scalable/Support/FormatProviders.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/Support/FormatProviders.h
similarity index 76%
rename from clang/include/clang/Analysis/Scalable/Support/FormatProviders.h
rename to clang/include/clang/ScalableStaticAnalysisFramework/Core/Support/FormatProviders.h
index 80bbf79bbdb37..d49fd6cb4a1dc 100644
--- a/clang/include/clang/Analysis/Scalable/Support/FormatProviders.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/Support/FormatProviders.h
@@ -1,4 +1,4 @@
-//===- FormatProviders.h - llvm::formatv support for SSAF model types -----===//
+//===- FormatProviders.h - llvm::formatv support for SSAF types -*- C++ -*-===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 // See https://llvm.org/LICENSE.txt for license information.
@@ -11,14 +11,14 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_CLANG_ANALYSIS_SCALABLE_SUPPORT_FORMATPROVIDERS_H
-#define LLVM_CLANG_ANALYSIS_SCALABLE_SUPPORT_FORMATPROVIDERS_H
+#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_SUPPORT_FORMATPROVIDERS_H
+#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_SUPPORT_FORMATPROVIDERS_H
 
-#include "clang/Analysis/Scalable/Model/BuildNamespace.h"
-#include "clang/Analysis/Scalable/Model/EntityId.h"
-#include "clang/Analysis/Scalable/Model/EntityLinkage.h"
-#include "clang/Analysis/Scalable/Model/EntityName.h"
-#include "clang/Analysis/Scalable/Model/SummaryName.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/BuildNamespace.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityId.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityLinkage.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityName.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/SummaryName.h"
 #include "llvm/Support/FormatProviders.h"
 #include "llvm/Support/raw_ostream.h"
 
@@ -82,4 +82,4 @@ template <> struct format_provider<clang::ssaf::SummaryName> {
 
 } // namespace llvm
 
-#endif // LLVM_CLANG_ANALYSIS_SCALABLE_SUPPORT_FORMATPROVIDERS_H
+#endif // LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_SUPPORT_FORMATPROVIDERS_H

diff  --git a/clang/include/clang/Analysis/Scalable/TUSummary/EntitySummary.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/EntitySummary.h
similarity index 69%
rename from clang/include/clang/Analysis/Scalable/TUSummary/EntitySummary.h
rename to clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/EntitySummary.h
index dddd69cb7d372..e6c8a4716eaf2 100644
--- a/clang/include/clang/Analysis/Scalable/TUSummary/EntitySummary.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/EntitySummary.h
@@ -6,10 +6,10 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_CLANG_ANALYSIS_SCALABLE_TUSUMMARY_ENTITYSUMMARY_H
-#define LLVM_CLANG_ANALYSIS_SCALABLE_TUSUMMARY_ENTITYSUMMARY_H
+#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_TUSUMMARY_ENTITYSUMMARY_H
+#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_TUSUMMARY_ENTITYSUMMARY_H
 
-#include "clang/Analysis/Scalable/Model/SummaryName.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/SummaryName.h"
 #include <type_traits>
 
 namespace clang::ssaf {
@@ -27,4 +27,4 @@ using DerivesFromEntitySummary =
 
 } // namespace clang::ssaf
 
-#endif // LLVM_CLANG_ANALYSIS_SCALABLE_TUSUMMARY_ENTITYSUMMARY_H
+#endif // LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_TUSUMMARY_ENTITYSUMMARY_H

diff  --git a/clang/include/clang/Analysis/Scalable/TUSummary/ExtractorRegistry.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/ExtractorRegistry.h
similarity index 83%
rename from clang/include/clang/Analysis/Scalable/TUSummary/ExtractorRegistry.h
rename to clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/ExtractorRegistry.h
index 29f5925ed6af6..a49d0e5faeeb1 100644
--- a/clang/include/clang/Analysis/Scalable/TUSummary/ExtractorRegistry.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/ExtractorRegistry.h
@@ -14,10 +14,10 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_CLANG_ANALYSIS_SCALABLE_TUSUMMARY_EXTRACTORREGISTRY_H
-#define LLVM_CLANG_ANALYSIS_SCALABLE_TUSUMMARY_EXTRACTORREGISTRY_H
+#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_TUSUMMARY_EXTRACTORREGISTRY_H
+#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_TUSUMMARY_EXTRACTORREGISTRY_H
 
-#include "clang/Analysis/Scalable/TUSummary/TUSummaryExtractor.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryExtractor.h"
 #include "clang/Support/Compiler.h"
 #include "llvm/ADT/StringRef.h"
 #include "llvm/Support/Registry.h"
@@ -45,4 +45,4 @@ extern template class CLANG_TEMPLATE_ABI
     Registry<clang::ssaf::TUSummaryExtractor, clang::ssaf::TUSummaryBuilder &>;
 } // namespace llvm
 
-#endif // LLVM_CLANG_ANALYSIS_SCALABLE_TUSUMMARY_EXTRACTORREGISTRY_H
+#endif // LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_TUSUMMARY_EXTRACTORREGISTRY_H

diff  --git a/clang/include/clang/Analysis/Scalable/TUSummary/TUSummary.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummary.h
similarity index 58%
rename from clang/include/clang/Analysis/Scalable/TUSummary/TUSummary.h
rename to clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummary.h
index 40cb7d582cf6e..84567653ea147 100644
--- a/clang/include/clang/Analysis/Scalable/TUSummary/TUSummary.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummary.h
@@ -6,15 +6,15 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_CLANG_ANALYSIS_SCALABLE_TUSUMMARY_TUSUMMARY_H
-#define LLVM_CLANG_ANALYSIS_SCALABLE_TUSUMMARY_TUSUMMARY_H
-
-#include "clang/Analysis/Scalable/Model/BuildNamespace.h"
-#include "clang/Analysis/Scalable/Model/EntityId.h"
-#include "clang/Analysis/Scalable/Model/EntityIdTable.h"
-#include "clang/Analysis/Scalable/Model/EntityLinkage.h"
-#include "clang/Analysis/Scalable/Model/SummaryName.h"
-#include "clang/Analysis/Scalable/TUSummary/EntitySummary.h"
+#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_TUSUMMARY_TUSUMMARY_H
+#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_TUSUMMARY_TUSUMMARY_H
+
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/BuildNamespace.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityId.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityIdTable.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityLinkage.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/SummaryName.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/TUSummary/EntitySummary.h"
 #include <map>
 #include <memory>
 
@@ -42,4 +42,4 @@ class TUSummary {
 
 } // namespace clang::ssaf
 
-#endif // LLVM_CLANG_ANALYSIS_SCALABLE_TUSUMMARY_TUSUMMARY_H
+#endif // LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_TUSUMMARY_TUSUMMARY_H

diff  --git a/clang/include/clang/Analysis/Scalable/TUSummary/TUSummaryBuilder.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryBuilder.h
similarity index 86%
rename from clang/include/clang/Analysis/Scalable/TUSummary/TUSummaryBuilder.h
rename to clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryBuilder.h
index 64d8adc0791c1..d386876675873 100644
--- a/clang/include/clang/Analysis/Scalable/TUSummary/TUSummaryBuilder.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryBuilder.h
@@ -6,11 +6,11 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_CLANG_ANALYSIS_SCALABLE_TUSUMMARY_TUSUMMARYBUILDER_H
-#define LLVM_CLANG_ANALYSIS_SCALABLE_TUSUMMARY_TUSUMMARYBUILDER_H
+#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_TUSUMMARY_TUSUMMARYBUILDER_H
+#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_TUSUMMARY_TUSUMMARYBUILDER_H
 
-#include "clang/Analysis/Scalable/Model/EntityId.h"
-#include "clang/Analysis/Scalable/TUSummary/EntitySummary.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityId.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/TUSummary/EntitySummary.h"
 #include <memory>
 #include <utility>
 
@@ -73,4 +73,4 @@ TUSummaryBuilder::addSummary(EntityId Entity,
 
 } // namespace clang::ssaf
 
-#endif // LLVM_CLANG_ANALYSIS_SCALABLE_TUSUMMARY_TUSUMMARYBUILDER_H
+#endif // LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_TUSUMMARY_TUSUMMARYBUILDER_H

diff  --git a/clang/include/clang/Analysis/Scalable/TUSummary/TUSummaryExtractor.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryExtractor.h
similarity index 72%
rename from clang/include/clang/Analysis/Scalable/TUSummary/TUSummaryExtractor.h
rename to clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryExtractor.h
index 7734d97fcd24b..629a8d0e35ae4 100644
--- a/clang/include/clang/Analysis/Scalable/TUSummary/TUSummaryExtractor.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryExtractor.h
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_CLANG_ANALYSIS_SCALABLE_TUSUMMARY_TUSUMMARYEXTRACTOR_H
-#define LLVM_CLANG_ANALYSIS_SCALABLE_TUSUMMARY_TUSUMMARYEXTRACTOR_H
+#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_TUSUMMARY_TUSUMMARYEXTRACTOR_H
+#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_TUSUMMARY_TUSUMMARYEXTRACTOR_H
 
 #include "clang/AST/ASTConsumer.h"
 
@@ -25,4 +25,4 @@ class TUSummaryExtractor : public ASTConsumer {
 
 } // namespace clang::ssaf
 
-#endif // LLVM_CLANG_ANALYSIS_SCALABLE_TUSUMMARY_TUSUMMARYEXTRACTOR_H
+#endif // LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_TUSUMMARY_TUSUMMARYEXTRACTOR_H

diff  --git a/clang/include/module.modulemap b/clang/include/module.modulemap
index 1cdea410a3c4d..5cff436b61f23 100644
--- a/clang/include/module.modulemap
+++ b/clang/include/module.modulemap
@@ -8,8 +8,6 @@ module Clang_Analysis {
   umbrella "clang/Analysis"
 
   textual header "clang/Analysis/Analyses/ThreadSafetyOps.def"
-  textual header "clang/Analysis/Scalable/Model/PrivateFieldNames.def"
-
   module * { export * }
 
   // FIXME: Exclude these headers to avoid pulling all of the AST matchers
@@ -150,6 +148,15 @@ module Clang_Options { requires cplusplus umbrella "clang/Options" module * { ex
 module Clang_Parse { requires cplusplus umbrella "clang/Parse" module * { export * } }
 module Clang_Rewrite { requires cplusplus umbrella "clang/Rewrite/Core" module * { export * } }
 module Clang_RewriteFrontend { requires cplusplus umbrella "clang/Rewrite/Frontend" module * { export * } }
+module Clang_ScalableStaticAnalysisFramework {
+  requires cplusplus
+  umbrella "clang/ScalableStaticAnalysisFramework"
+
+  textual header "clang/ScalableStaticAnalysisFramework/Core/Model/PrivateFieldNames.def"
+
+  module * { export * }
+}
+
 module Clang_Sema { requires cplusplus umbrella "clang/Sema" module * { export * } }
 
 module Clang_Serialization {

diff  --git a/clang/lib/Analysis/CMakeLists.txt b/clang/lib/Analysis/CMakeLists.txt
index fef688424978d..9957e2a8dfbb9 100644
--- a/clang/lib/Analysis/CMakeLists.txt
+++ b/clang/lib/Analysis/CMakeLists.txt
@@ -54,4 +54,3 @@ add_clang_library(clangAnalysis
 add_subdirectory(plugins)
 add_subdirectory(FlowSensitive)
 add_subdirectory(LifetimeSafety)
-add_subdirectory(Scalable)

diff  --git a/clang/lib/CMakeLists.txt b/clang/lib/CMakeLists.txt
index 8ffde5fd7bebf..d9d1e4630a416 100644
--- a/clang/lib/CMakeLists.txt
+++ b/clang/lib/CMakeLists.txt
@@ -23,6 +23,7 @@ add_subdirectory(DirectoryWatcher)
 add_subdirectory(Index)
 add_subdirectory(IndexSerialization)
 add_subdirectory(InstallAPI)
+add_subdirectory(ScalableStaticAnalysisFramework)
 add_subdirectory(StaticAnalyzer)
 add_subdirectory(Format)
 if(CLANG_INCLUDE_TESTS)

diff  --git a/clang/lib/ScalableStaticAnalysisFramework/CMakeLists.txt b/clang/lib/ScalableStaticAnalysisFramework/CMakeLists.txt
new file mode 100644
index 0000000000000..194a13a1af845
--- /dev/null
+++ b/clang/lib/ScalableStaticAnalysisFramework/CMakeLists.txt
@@ -0,0 +1 @@
+add_subdirectory(Core)

diff  --git a/clang/lib/Analysis/Scalable/ASTEntityMapping.cpp b/clang/lib/ScalableStaticAnalysisFramework/Core/ASTEntityMapping.cpp
similarity index 93%
rename from clang/lib/Analysis/Scalable/ASTEntityMapping.cpp
rename to clang/lib/ScalableStaticAnalysisFramework/Core/ASTEntityMapping.cpp
index dc7f68f82aa81..cac27b2c3f278 100644
--- a/clang/lib/Analysis/Scalable/ASTEntityMapping.cpp
+++ b/clang/lib/ScalableStaticAnalysisFramework/Core/ASTEntityMapping.cpp
@@ -1,4 +1,4 @@
-//===- ASTMapping.cpp - AST to SSAF Entity mapping --------------*- C++ -*-===//
+//===- ASTMapping.cpp - AST to SSAF Entity mapping ------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 // See https://llvm.org/LICENSE.txt for license information.
@@ -10,9 +10,9 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Analysis/Scalable/ASTEntityMapping.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/ASTEntityMapping.h"
 #include "clang/AST/Decl.h"
-#include "clang/Analysis/Scalable/Model/BuildNamespace.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/BuildNamespace.h"
 #include "clang/UnifiedSymbolResolution/USRGeneration.h"
 #include "llvm/ADT/SmallString.h"
 

diff  --git a/clang/lib/Analysis/Scalable/CMakeLists.txt b/clang/lib/ScalableStaticAnalysisFramework/Core/CMakeLists.txt
similarity index 93%
rename from clang/lib/Analysis/Scalable/CMakeLists.txt
rename to clang/lib/ScalableStaticAnalysisFramework/Core/CMakeLists.txt
index 63e066be6a8d2..5a04ffe22985c 100644
--- a/clang/lib/Analysis/Scalable/CMakeLists.txt
+++ b/clang/lib/ScalableStaticAnalysisFramework/Core/CMakeLists.txt
@@ -2,7 +2,7 @@ set(LLVM_LINK_COMPONENTS
   Support
   )
 
-add_clang_library(clangAnalysisScalable
+add_clang_library(clangScalableStaticAnalysisFrameworkCore
   ASTEntityMapping.cpp
   EntityLinker/EntityLinker.cpp
   Model/BuildNamespace.cpp

diff  --git a/clang/lib/Analysis/Scalable/EntityLinker/EntityLinker.cpp b/clang/lib/ScalableStaticAnalysisFramework/Core/EntityLinker/EntityLinker.cpp
similarity index 92%
rename from clang/lib/Analysis/Scalable/EntityLinker/EntityLinker.cpp
rename to clang/lib/ScalableStaticAnalysisFramework/Core/EntityLinker/EntityLinker.cpp
index 25cad1105e303..8731b58e57f2d 100644
--- a/clang/lib/Analysis/Scalable/EntityLinker/EntityLinker.cpp
+++ b/clang/lib/ScalableStaticAnalysisFramework/Core/EntityLinker/EntityLinker.cpp
@@ -1,4 +1,4 @@
-//===- EntityLinker.cpp ----------------------------------------*- C++ -*-===//
+//===- EntityLinker.cpp ---------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 // See https://llvm.org/LICENSE.txt for license information.
@@ -6,13 +6,13 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Analysis/Scalable/EntityLinker/EntityLinker.h"
-#include "clang/Analysis/Scalable/EntityLinker/EntitySummaryEncoding.h"
-#include "clang/Analysis/Scalable/EntityLinker/TUSummaryEncoding.h"
-#include "clang/Analysis/Scalable/Model/EntityLinkage.h"
-#include "clang/Analysis/Scalable/Model/EntityName.h"
-#include "clang/Analysis/Scalable/Support/ErrorBuilder.h"
-#include "clang/Analysis/Scalable/Support/FormatProviders.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntityLinker.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntitySummaryEncoding.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/EntityLinker/TUSummaryEncoding.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityLinkage.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityName.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Support/ErrorBuilder.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Support/FormatProviders.h"
 #include <cassert>
 
 using namespace clang::ssaf;

diff  --git a/clang/lib/Analysis/Scalable/Model/BuildNamespace.cpp b/clang/lib/ScalableStaticAnalysisFramework/Core/Model/BuildNamespace.cpp
similarity index 95%
rename from clang/lib/Analysis/Scalable/Model/BuildNamespace.cpp
rename to clang/lib/ScalableStaticAnalysisFramework/Core/Model/BuildNamespace.cpp
index b74ac7dcf80c8..09fff31e8f4a8 100644
--- a/clang/lib/Analysis/Scalable/Model/BuildNamespace.cpp
+++ b/clang/lib/ScalableStaticAnalysisFramework/Core/Model/BuildNamespace.cpp
@@ -1,4 +1,4 @@
-//===- BuildNamespace.cpp ---------------------------------------*- C++ -*-===//
+//===- BuildNamespace.cpp -------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 // See https://llvm.org/LICENSE.txt for license information.
@@ -6,7 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Analysis/Scalable/Model/BuildNamespace.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/BuildNamespace.h"
 #include "../ModelStringConversions.h"
 #include "llvm/ADT/STLExtras.h"
 #include "llvm/Support/ErrorHandling.h"

diff  --git a/clang/lib/Analysis/Scalable/Model/EntityId.cpp b/clang/lib/ScalableStaticAnalysisFramework/Core/Model/EntityId.cpp
similarity index 85%
rename from clang/lib/Analysis/Scalable/Model/EntityId.cpp
rename to clang/lib/ScalableStaticAnalysisFramework/Core/Model/EntityId.cpp
index ad65003bdce93..9c4eec2d7e299 100644
--- a/clang/lib/Analysis/Scalable/Model/EntityId.cpp
+++ b/clang/lib/ScalableStaticAnalysisFramework/Core/Model/EntityId.cpp
@@ -1,4 +1,4 @@
-//===- EntityId.cpp ---------------------------------------------*- C++ -*-===//
+//===- EntityId.cpp -------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 // See https://llvm.org/LICENSE.txt for license information.
@@ -6,7 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Analysis/Scalable/Model/EntityId.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityId.h"
 
 namespace clang::ssaf {
 

diff  --git a/clang/lib/Analysis/Scalable/Model/EntityIdTable.cpp b/clang/lib/ScalableStaticAnalysisFramework/Core/Model/EntityIdTable.cpp
similarity index 90%
rename from clang/lib/Analysis/Scalable/Model/EntityIdTable.cpp
rename to clang/lib/ScalableStaticAnalysisFramework/Core/Model/EntityIdTable.cpp
index 134ead3f2881c..cb514581ca9ec 100644
--- a/clang/lib/Analysis/Scalable/Model/EntityIdTable.cpp
+++ b/clang/lib/ScalableStaticAnalysisFramework/Core/Model/EntityIdTable.cpp
@@ -1,4 +1,4 @@
-//===- EntityIdTable.cpp ----------------------------------------*- C++ -*-===//
+//===- EntityIdTable.cpp --------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 // See https://llvm.org/LICENSE.txt for license information.
@@ -6,7 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Analysis/Scalable/Model/EntityIdTable.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityIdTable.h"
 #include <cassert>
 
 namespace clang::ssaf {

diff  --git a/clang/lib/Analysis/Scalable/Model/EntityLinkage.cpp b/clang/lib/ScalableStaticAnalysisFramework/Core/Model/EntityLinkage.cpp
similarity index 91%
rename from clang/lib/Analysis/Scalable/Model/EntityLinkage.cpp
rename to clang/lib/ScalableStaticAnalysisFramework/Core/Model/EntityLinkage.cpp
index d0c0654b5d5f6..179b906c0b999 100644
--- a/clang/lib/Analysis/Scalable/Model/EntityLinkage.cpp
+++ b/clang/lib/ScalableStaticAnalysisFramework/Core/Model/EntityLinkage.cpp
@@ -1,4 +1,4 @@
-//===- EntityLinkage.cpp ----------------------------------------*- C++ -*-===//
+//===- EntityLinkage.cpp --------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 // See https://llvm.org/LICENSE.txt for license information.
@@ -6,7 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Analysis/Scalable/Model/EntityLinkage.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityLinkage.h"
 
 #include "../ModelStringConversions.h"
 

diff  --git a/clang/lib/Analysis/Scalable/Model/EntityName.cpp b/clang/lib/ScalableStaticAnalysisFramework/Core/Model/EntityName.cpp
similarity index 93%
rename from clang/lib/Analysis/Scalable/Model/EntityName.cpp
rename to clang/lib/ScalableStaticAnalysisFramework/Core/Model/EntityName.cpp
index 170a7d475b6da..9145506865f24 100644
--- a/clang/lib/Analysis/Scalable/Model/EntityName.cpp
+++ b/clang/lib/ScalableStaticAnalysisFramework/Core/Model/EntityName.cpp
@@ -1,4 +1,4 @@
-//===- EntityName.cpp -------------------------------------------*- C++ -*-===//
+//===- EntityName.cpp -----------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 // See https://llvm.org/LICENSE.txt for license information.
@@ -6,7 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Analysis/Scalable/Model/EntityName.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityName.h"
 
 namespace clang::ssaf {
 

diff  --git a/clang/lib/Analysis/Scalable/Model/SummaryName.cpp b/clang/lib/ScalableStaticAnalysisFramework/Core/Model/SummaryName.cpp
similarity index 85%
rename from clang/lib/Analysis/Scalable/Model/SummaryName.cpp
rename to clang/lib/ScalableStaticAnalysisFramework/Core/Model/SummaryName.cpp
index feee79e07b303..1609912aa7f90 100644
--- a/clang/lib/Analysis/Scalable/Model/SummaryName.cpp
+++ b/clang/lib/ScalableStaticAnalysisFramework/Core/Model/SummaryName.cpp
@@ -1,4 +1,4 @@
-//===- SummaryName.cpp ------------------------------------------*- C++ -*-===//
+//===- SummaryName.cpp ----------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 // See https://llvm.org/LICENSE.txt for license information.
@@ -6,7 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Analysis/Scalable/Model/SummaryName.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/SummaryName.h"
 
 namespace clang::ssaf {
 

diff  --git a/clang/lib/Analysis/Scalable/ModelStringConversions.h b/clang/lib/ScalableStaticAnalysisFramework/Core/ModelStringConversions.h
similarity index 87%
rename from clang/lib/Analysis/Scalable/ModelStringConversions.h
rename to clang/lib/ScalableStaticAnalysisFramework/Core/ModelStringConversions.h
index 7042b08e7198e..f168a475de807 100644
--- a/clang/lib/Analysis/Scalable/ModelStringConversions.h
+++ b/clang/lib/ScalableStaticAnalysisFramework/Core/ModelStringConversions.h
@@ -1,4 +1,4 @@
-//===- ModelStringConversions.h -------------------------------------------===//
+//===- ModelStringConversions.h ---------------------------------*- C++ -*-===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 // See https://llvm.org/LICENSE.txt for license information.
@@ -13,11 +13,11 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef CLANG_LIB_ANALYSIS_SCALABLE_MODELSTRINGCONVERSIONS_H
-#define CLANG_LIB_ANALYSIS_SCALABLE_MODELSTRINGCONVERSIONS_H
+#ifndef LLVM_CLANG_LIB_SCALABLESTATICANALYSISFRAMEWORK_CORE_MODELSTRINGCONVERSIONS_H
+#define LLVM_CLANG_LIB_SCALABLESTATICANALYSISFRAMEWORK_CORE_MODELSTRINGCONVERSIONS_H
 
-#include "clang/Analysis/Scalable/Model/BuildNamespace.h"
-#include "clang/Analysis/Scalable/Model/EntityLinkage.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/BuildNamespace.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityLinkage.h"
 #include "llvm/ADT/StringRef.h"
 #include "llvm/Support/ErrorHandling.h"
 #include <optional>
@@ -84,4 +84,4 @@ entityLinkageTypeFromString(llvm::StringRef Str) {
 
 } // namespace clang::ssaf
 
-#endif // CLANG_LIB_ANALYSIS_SCALABLE_MODELSTRINGCONVERSIONS_H
+#endif // LLVM_CLANG_LIB_SCALABLESTATICANALYSISFRAMEWORK_CORE_MODELSTRINGCONVERSIONS_H

diff  --git a/clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONEntitySummaryEncoding.cpp b/clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONEntitySummaryEncoding.cpp
similarity index 100%
rename from clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONEntitySummaryEncoding.cpp
rename to clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONEntitySummaryEncoding.cpp

diff  --git a/clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONEntitySummaryEncoding.h b/clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONEntitySummaryEncoding.h
similarity index 75%
rename from clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONEntitySummaryEncoding.h
rename to clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONEntitySummaryEncoding.h
index 8475fd9c02851..9a1f5d49757f7 100644
--- a/clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONEntitySummaryEncoding.h
+++ b/clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONEntitySummaryEncoding.h
@@ -1,4 +1,4 @@
-//===- JSONEntitySummaryEncoding.h ----------------------------------------===//
+//===- JSONEntitySummaryEncoding.h ------------------------------*- C++ -*-===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 // See https://llvm.org/LICENSE.txt for license information.
@@ -12,11 +12,11 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef CLANG_LIB_ANALYSIS_SCALABLE_SERIALIZATION_JSONFORMAT_JSONENTITYSUMMARYENCODING_H
-#define CLANG_LIB_ANALYSIS_SCALABLE_SERIALIZATION_JSONFORMAT_JSONENTITYSUMMARYENCODING_H
+#ifndef LLVM_CLANG_LIB_SCALABLESTATICANALYSISFRAMEWORK_CORE_SERIALIZATION_JSONFORMAT_JSONENTITYSUMMARYENCODING_H
+#define LLVM_CLANG_LIB_SCALABLESTATICANALYSISFRAMEWORK_CORE_SERIALIZATION_JSONFORMAT_JSONENTITYSUMMARYENCODING_H
 
-#include "clang/Analysis/Scalable/EntityLinker/EntitySummaryEncoding.h"
-#include "clang/Analysis/Scalable/Serialization/JSONFormat.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntitySummaryEncoding.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat.h"
 #include "llvm/Support/JSON.h"
 
 #include <map>
@@ -49,4 +49,4 @@ class JSONEntitySummaryEncoding final : public EntitySummaryEncoding {
 
 } // namespace clang::ssaf
 
-#endif // CLANG_LIB_ANALYSIS_SCALABLE_SERIALIZATION_JSONFORMAT_JSONENTITYSUMMARYENCODING_H
+#endif // LLVM_CLANG_LIB_SCALABLESTATICANALYSISFRAMEWORK_CORE_SERIALIZATION_JSONFORMAT_JSONENTITYSUMMARYENCODING_H

diff  --git a/clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONFormatImpl.cpp b/clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
similarity index 99%
rename from clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONFormatImpl.cpp
rename to clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
index 86f2aa58f766c..0f1b9ccf6258e 100644
--- a/clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONFormatImpl.cpp
+++ b/clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
@@ -8,8 +8,8 @@
 
 #include "JSONFormatImpl.h"
 
-#include "clang/Analysis/Scalable/Serialization/SerializationFormatRegistry.h"
-#include "clang/Analysis/Scalable/TUSummary/TUSummary.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormatRegistry.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummary.h"
 #include "llvm/Support/Registry.h"
 
 LLVM_INSTANTIATE_REGISTRY(llvm::Registry<clang::ssaf::JSONFormat::FormatInfo>)

diff  --git a/clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONFormatImpl.h b/clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.h
similarity index 90%
rename from clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONFormatImpl.h
rename to clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.h
index a95d4c3d37db8..2ff1f2ae16192 100644
--- a/clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONFormatImpl.h
+++ b/clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.h
@@ -11,16 +11,16 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef CLANG_LIB_ANALYSIS_SCALABLE_SERIALIZATION_JSONFORMAT_JSONFORMATIMPL_H
-#define CLANG_LIB_ANALYSIS_SCALABLE_SERIALIZATION_JSONFORMAT_JSONFORMATIMPL_H
+#ifndef LLVM_CLANG_LIB_SCALABLESTATICANALYSISFRAMEWORK_CORE_SERIALIZATION_JSONFORMAT_JSONFORMATIMPL_H
+#define LLVM_CLANG_LIB_SCALABLESTATICANALYSISFRAMEWORK_CORE_SERIALIZATION_JSONFORMAT_JSONFORMATIMPL_H
 
 #include "../../ModelStringConversions.h"
 #include "JSONEntitySummaryEncoding.h"
-#include "clang/Analysis/Scalable/EntityLinker/EntitySummaryEncoding.h"
-#include "clang/Analysis/Scalable/Model/EntityLinkage.h"
-#include "clang/Analysis/Scalable/Serialization/JSONFormat.h"
-#include "clang/Analysis/Scalable/Support/ErrorBuilder.h"
-#include "clang/Analysis/Scalable/Support/FormatProviders.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntitySummaryEncoding.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityLinkage.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Support/ErrorBuilder.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Support/FormatProviders.h"
 #include "llvm/ADT/STLExtras.h"
 #include "llvm/ADT/StringExtras.h"
 #include "llvm/Support/ErrorHandling.h"
@@ -161,4 +161,4 @@ llvm::StringRef entityLinkageTypeToJSON(EntityLinkageType LT);
 
 } // namespace clang::ssaf
 
-#endif // CLANG_LIB_ANALYSIS_SCALABLE_SERIALIZATION_JSONFORMAT_JSONFORMATIMPL_H
+#endif // LLVM_CLANG_LIB_SCALABLESTATICANALYSISFRAMEWORK_CORE_SERIALIZATION_JSONFORMAT_JSONFORMATIMPL_H

diff  --git a/clang/lib/Analysis/Scalable/Serialization/JSONFormat/LUSummary.cpp b/clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummary.cpp
similarity index 98%
rename from clang/lib/Analysis/Scalable/Serialization/JSONFormat/LUSummary.cpp
rename to clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummary.cpp
index 08d081089976b..924a4a325aafb 100644
--- a/clang/lib/Analysis/Scalable/Serialization/JSONFormat/LUSummary.cpp
+++ b/clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummary.cpp
@@ -8,7 +8,7 @@
 
 #include "JSONFormatImpl.h"
 
-#include "clang/Analysis/Scalable/EntityLinker/LUSummary.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummary.h"
 
 #include <set>
 

diff  --git a/clang/lib/Analysis/Scalable/Serialization/JSONFormat/LUSummaryEncoding.cpp b/clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummaryEncoding.cpp
similarity index 98%
rename from clang/lib/Analysis/Scalable/Serialization/JSONFormat/LUSummaryEncoding.cpp
rename to clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummaryEncoding.cpp
index e99ea231e2c61..6098acc37b7b5 100644
--- a/clang/lib/Analysis/Scalable/Serialization/JSONFormat/LUSummaryEncoding.cpp
+++ b/clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummaryEncoding.cpp
@@ -8,7 +8,7 @@
 
 #include "JSONFormatImpl.h"
 
-#include "clang/Analysis/Scalable/EntityLinker/LUSummaryEncoding.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummaryEncoding.h"
 
 #include <set>
 

diff  --git a/clang/lib/Analysis/Scalable/Serialization/JSONFormat/TUSummary.cpp b/clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummary.cpp
similarity index 98%
rename from clang/lib/Analysis/Scalable/Serialization/JSONFormat/TUSummary.cpp
rename to clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummary.cpp
index dfb6aa608046c..f1a58276554d8 100644
--- a/clang/lib/Analysis/Scalable/Serialization/JSONFormat/TUSummary.cpp
+++ b/clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummary.cpp
@@ -8,7 +8,7 @@
 
 #include "JSONFormatImpl.h"
 
-#include "clang/Analysis/Scalable/TUSummary/TUSummary.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummary.h"
 
 #include <set>
 

diff  --git a/clang/lib/Analysis/Scalable/Serialization/JSONFormat/TUSummaryEncoding.cpp b/clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummaryEncoding.cpp
similarity index 98%
rename from clang/lib/Analysis/Scalable/Serialization/JSONFormat/TUSummaryEncoding.cpp
rename to clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummaryEncoding.cpp
index 3d24ca8c087bb..5cbc816264d2c 100644
--- a/clang/lib/Analysis/Scalable/Serialization/JSONFormat/TUSummaryEncoding.cpp
+++ b/clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummaryEncoding.cpp
@@ -8,7 +8,7 @@
 
 #include "JSONFormatImpl.h"
 
-#include "clang/Analysis/Scalable/EntityLinker/TUSummaryEncoding.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/EntityLinker/TUSummaryEncoding.h"
 
 #include <set>
 

diff  --git a/clang/lib/Analysis/Scalable/Serialization/SerializationFormatRegistry.cpp b/clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormatRegistry.cpp
similarity index 91%
rename from clang/lib/Analysis/Scalable/Serialization/SerializationFormatRegistry.cpp
rename to clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormatRegistry.cpp
index 7cfa4370aa9ed..15e0d497181aa 100644
--- a/clang/lib/Analysis/Scalable/Serialization/SerializationFormatRegistry.cpp
+++ b/clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormatRegistry.cpp
@@ -6,7 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Analysis/Scalable/Serialization/SerializationFormatRegistry.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormatRegistry.h"
 #include <memory>
 
 using namespace clang;

diff  --git a/clang/lib/Analysis/Scalable/SummaryData/LUSummaryConsumer.cpp b/clang/lib/ScalableStaticAnalysisFramework/Core/SummaryData/LUSummaryConsumer.cpp
similarity index 90%
rename from clang/lib/Analysis/Scalable/SummaryData/LUSummaryConsumer.cpp
rename to clang/lib/ScalableStaticAnalysisFramework/Core/SummaryData/LUSummaryConsumer.cpp
index db68c009cbf1b..e6f21d8c54799 100644
--- a/clang/lib/Analysis/Scalable/SummaryData/LUSummaryConsumer.cpp
+++ b/clang/lib/ScalableStaticAnalysisFramework/Core/SummaryData/LUSummaryConsumer.cpp
@@ -6,9 +6,9 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Analysis/Scalable/SummaryData/LUSummaryConsumer.h"
-#include "clang/Analysis/Scalable/SummaryData/SummaryDataBuilderRegistry.h"
-#include "clang/Analysis/Scalable/Support/ErrorBuilder.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/SummaryData/LUSummaryConsumer.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataBuilderRegistry.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Support/ErrorBuilder.h"
 
 using namespace clang;
 using namespace ssaf;

diff  --git a/clang/lib/Analysis/Scalable/SummaryData/SummaryDataBuilderRegistry.cpp b/clang/lib/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataBuilderRegistry.cpp
similarity index 91%
rename from clang/lib/Analysis/Scalable/SummaryData/SummaryDataBuilderRegistry.cpp
rename to clang/lib/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataBuilderRegistry.cpp
index 6b25ed03eeb81..f0f2db91e6ba6 100644
--- a/clang/lib/Analysis/Scalable/SummaryData/SummaryDataBuilderRegistry.cpp
+++ b/clang/lib/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataBuilderRegistry.cpp
@@ -6,7 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Analysis/Scalable/SummaryData/SummaryDataBuilderRegistry.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataBuilderRegistry.h"
 
 using namespace clang;
 using namespace ssaf;

diff  --git a/clang/lib/Analysis/Scalable/Support/ErrorBuilder.cpp b/clang/lib/ScalableStaticAnalysisFramework/Core/Support/ErrorBuilder.cpp
similarity index 96%
rename from clang/lib/Analysis/Scalable/Support/ErrorBuilder.cpp
rename to clang/lib/ScalableStaticAnalysisFramework/Core/Support/ErrorBuilder.cpp
index f718fe21be94d..3abc42e171065 100644
--- a/clang/lib/Analysis/Scalable/Support/ErrorBuilder.cpp
+++ b/clang/lib/ScalableStaticAnalysisFramework/Core/Support/ErrorBuilder.cpp
@@ -6,7 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Analysis/Scalable/Support/ErrorBuilder.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Support/ErrorBuilder.h"
 #include "llvm/ADT/STLExtras.h"
 #include "llvm/ADT/StringExtras.h"
 #include <cassert>

diff  --git a/clang/lib/Analysis/Scalable/TUSummary/ExtractorRegistry.cpp b/clang/lib/ScalableStaticAnalysisFramework/Core/TUSummary/ExtractorRegistry.cpp
similarity index 93%
rename from clang/lib/Analysis/Scalable/TUSummary/ExtractorRegistry.cpp
rename to clang/lib/ScalableStaticAnalysisFramework/Core/TUSummary/ExtractorRegistry.cpp
index 8e3871126a2b3..3dcfef7fc7b88 100644
--- a/clang/lib/Analysis/Scalable/TUSummary/ExtractorRegistry.cpp
+++ b/clang/lib/ScalableStaticAnalysisFramework/Core/TUSummary/ExtractorRegistry.cpp
@@ -6,7 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Analysis/Scalable/TUSummary/ExtractorRegistry.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/TUSummary/ExtractorRegistry.h"
 #include <memory>
 
 using namespace clang;

diff  --git a/clang/lib/Analysis/Scalable/TUSummary/TUSummaryBuilder.cpp b/clang/lib/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryBuilder.cpp
similarity index 62%
rename from clang/lib/Analysis/Scalable/TUSummary/TUSummaryBuilder.cpp
rename to clang/lib/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryBuilder.cpp
index 61c332e831ccb..f3280b02ce5ef 100644
--- a/clang/lib/Analysis/Scalable/TUSummary/TUSummaryBuilder.cpp
+++ b/clang/lib/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryBuilder.cpp
@@ -1,7 +1,7 @@
-#include "clang/Analysis/Scalable/TUSummary/TUSummaryBuilder.h"
-#include "clang/Analysis/Scalable/Model/EntityId.h"
-#include "clang/Analysis/Scalable/TUSummary/EntitySummary.h"
-#include "clang/Analysis/Scalable/TUSummary/TUSummary.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryBuilder.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityId.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/TUSummary/EntitySummary.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummary.h"
 #include <memory>
 #include <utility>
 

diff  --git a/clang/tools/ssaf-format/CMakeLists.txt b/clang/tools/ssaf-format/CMakeLists.txt
index 170d84af56cd4..fa7a5a386946e 100644
--- a/clang/tools/ssaf-format/CMakeLists.txt
+++ b/clang/tools/ssaf-format/CMakeLists.txt
@@ -9,6 +9,6 @@ add_clang_tool(clang-ssaf-format
 
 clang_target_link_libraries(clang-ssaf-format
   PRIVATE
-  clangAnalysisScalable
+  clangScalableStaticAnalysisFrameworkCore
   clangBasic
   )

diff  --git a/clang/tools/ssaf-format/SSAFFormat.cpp b/clang/tools/ssaf-format/SSAFFormat.cpp
index 273b1d4e68ec9..9b5312e0e085b 100644
--- a/clang/tools/ssaf-format/SSAFFormat.cpp
+++ b/clang/tools/ssaf-format/SSAFFormat.cpp
@@ -11,10 +11,10 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Analysis/Scalable/EntityLinker/LUSummaryEncoding.h"
-#include "clang/Analysis/Scalable/EntityLinker/TUSummaryEncoding.h"
-#include "clang/Analysis/Scalable/Serialization/JSONFormat.h"
-#include "clang/Analysis/Scalable/Serialization/SerializationFormatRegistry.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummaryEncoding.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/EntityLinker/TUSummaryEncoding.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormatRegistry.h"
 #include "llvm/ADT/STLExtras.h"
 #include "llvm/ADT/SmallVector.h"
 #include "llvm/Support/CommandLine.h"

diff  --git a/clang/tools/ssaf-linker/CMakeLists.txt b/clang/tools/ssaf-linker/CMakeLists.txt
index 89a1fcb6d272c..60453d20d4876 100644
--- a/clang/tools/ssaf-linker/CMakeLists.txt
+++ b/clang/tools/ssaf-linker/CMakeLists.txt
@@ -9,6 +9,6 @@ add_clang_tool(clang-ssaf-linker
 
 clang_target_link_libraries(clang-ssaf-linker
   PRIVATE
-  clangAnalysisScalable
+  clangScalableStaticAnalysisFrameworkCore
   clangBasic
   )

diff  --git a/clang/tools/ssaf-linker/SSAFLinker.cpp b/clang/tools/ssaf-linker/SSAFLinker.cpp
index 2482aaca15782..e0b1cfdc02160 100644
--- a/clang/tools/ssaf-linker/SSAFLinker.cpp
+++ b/clang/tools/ssaf-linker/SSAFLinker.cpp
@@ -11,12 +11,12 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Analysis/Scalable/EntityLinker/EntityLinker.h"
-#include "clang/Analysis/Scalable/EntityLinker/TUSummaryEncoding.h"
-#include "clang/Analysis/Scalable/Model/BuildNamespace.h"
-#include "clang/Analysis/Scalable/Serialization/JSONFormat.h"
-#include "clang/Analysis/Scalable/Serialization/SerializationFormatRegistry.h"
-#include "clang/Analysis/Scalable/Support/ErrorBuilder.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntityLinker.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/EntityLinker/TUSummaryEncoding.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/BuildNamespace.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormatRegistry.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Support/ErrorBuilder.h"
 #include "llvm/ADT/STLExtras.h"
 #include "llvm/ADT/SmallVector.h"
 #include "llvm/Support/CommandLine.h"

diff  --git a/clang/unittests/Analysis/CMakeLists.txt b/clang/unittests/Analysis/CMakeLists.txt
index 7cefa2caf3c91..cb7cc1bd0062e 100644
--- a/clang/unittests/Analysis/CMakeLists.txt
+++ b/clang/unittests/Analysis/CMakeLists.txt
@@ -27,4 +27,3 @@ add_clang_unittest(ClangAnalysisTests
   )
 
 add_subdirectory(FlowSensitive)
-add_subdirectory(Scalable)

diff  --git a/clang/unittests/CMakeLists.txt b/clang/unittests/CMakeLists.txt
index 438a5c4c2e711..2ae0906dd1571 100644
--- a/clang/unittests/CMakeLists.txt
+++ b/clang/unittests/CMakeLists.txt
@@ -91,6 +91,7 @@ add_subdirectory(Tooling)
 add_subdirectory(Format)
 add_subdirectory(Frontend)
 add_subdirectory(Rewrite)
+add_subdirectory(ScalableStaticAnalysisFramework)
 add_subdirectory(Sema)
 add_subdirectory(CodeGen)
 if(HAVE_CLANG_REPL_SUPPORT)

diff  --git a/clang/unittests/Analysis/Scalable/ASTEntityMappingTest.cpp b/clang/unittests/ScalableStaticAnalysisFramework/ASTEntityMappingTest.cpp
similarity index 98%
rename from clang/unittests/Analysis/Scalable/ASTEntityMappingTest.cpp
rename to clang/unittests/ScalableStaticAnalysisFramework/ASTEntityMappingTest.cpp
index dd41864da3c55..da921b7b7ab35 100644
--- a/clang/unittests/Analysis/Scalable/ASTEntityMappingTest.cpp
+++ b/clang/unittests/ScalableStaticAnalysisFramework/ASTEntityMappingTest.cpp
@@ -1,4 +1,4 @@
-//===- unittests/Analysis/Scalable/ASTEntityMappingTest.cpp --------------===//
+//===- ASTEntityMappingTest.cpp -------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 // See https://llvm.org/LICENSE.txt for license information.
@@ -6,7 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Analysis/Scalable/ASTEntityMapping.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/ASTEntityMapping.h"
 #include "clang/AST/ASTContext.h"
 #include "clang/AST/Decl.h"
 #include "clang/AST/DeclCXX.h"

diff  --git a/clang/unittests/Analysis/Scalable/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp b/clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
similarity index 87%
rename from clang/unittests/Analysis/Scalable/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
rename to clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
index 407dafe1f02fe..082ff7f8ac175 100644
--- a/clang/unittests/Analysis/Scalable/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
+++ b/clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
@@ -1,4 +1,4 @@
-//===------- unittests/Analysis/Scalable/UnsafeBufferUsageTest.cpp --------===//
+//===- UnsafeBufferUsageTest.cpp ------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 // See https://llvm.org/LICENSE.txt for license information.
@@ -6,10 +6,10 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Analysis/Scalable/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h"
-#include "clang/Analysis/Scalable/Analyses/UnsafeBufferUsage/UnsafeBufferUsageBuilder.h"
-#include "clang/Analysis/Scalable/Model/EntityId.h"
-#include "clang/Analysis/Scalable/Model/EntityIdTable.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Analyses/UnsafeBufferUsage/UnsafeBufferUsageBuilder.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityId.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityIdTable.h"
 #include "gtest/gtest.h"
 
 using namespace clang;

diff  --git a/clang/unittests/Analysis/Scalable/BuildNamespaceTest.cpp b/clang/unittests/ScalableStaticAnalysisFramework/BuildNamespaceTest.cpp
similarity index 95%
rename from clang/unittests/Analysis/Scalable/BuildNamespaceTest.cpp
rename to clang/unittests/ScalableStaticAnalysisFramework/BuildNamespaceTest.cpp
index 383937fe53372..0fe8bb6f18122 100644
--- a/clang/unittests/Analysis/Scalable/BuildNamespaceTest.cpp
+++ b/clang/unittests/ScalableStaticAnalysisFramework/BuildNamespaceTest.cpp
@@ -1,4 +1,4 @@
-//===- unittests/Analysis/Scalable/BuildNamespaceTest.cpp ----------------===//
+//===- BuildNamespaceTest.cpp ---------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 // See https://llvm.org/LICENSE.txt for license information.
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Analysis/Scalable/Model/BuildNamespace.h"
-#include "clang/Analysis/Scalable/Support/FormatProviders.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/BuildNamespace.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Support/FormatProviders.h"
 #include "llvm/Support/FormatVariadic.h"
 #include "llvm/Support/raw_ostream.h"
 #include "gtest/gtest.h"

diff  --git a/clang/unittests/Analysis/Scalable/CMakeLists.txt b/clang/unittests/ScalableStaticAnalysisFramework/CMakeLists.txt
similarity index 95%
rename from clang/unittests/Analysis/Scalable/CMakeLists.txt
rename to clang/unittests/ScalableStaticAnalysisFramework/CMakeLists.txt
index 770e900d8683e..832ce89d89029 100644
--- a/clang/unittests/Analysis/Scalable/CMakeLists.txt
+++ b/clang/unittests/ScalableStaticAnalysisFramework/CMakeLists.txt
@@ -24,7 +24,7 @@ add_distinct_clang_unittest(ClangScalableAnalysisTests
   TUSummaryBuilderTest.cpp
 
   CLANG_LIBS
-  clangAnalysisScalable
+  clangScalableStaticAnalysisFrameworkCore
   clangAST
   clangASTMatchers
   clangBasic
@@ -32,9 +32,11 @@ add_distinct_clang_unittest(ClangScalableAnalysisTests
   clangSerialization
   clangTooling
   clangUnifiedSymbolResolution
+
   LINK_LIBS
   clangTesting
   LLVMTestingSupport
+
   LLVM_COMPONENTS
   FrontendOpenMP
   Support

diff  --git a/clang/unittests/Analysis/Scalable/EntityIdTableTest.cpp b/clang/unittests/ScalableStaticAnalysisFramework/EntityIdTableTest.cpp
similarity index 89%
rename from clang/unittests/Analysis/Scalable/EntityIdTableTest.cpp
rename to clang/unittests/ScalableStaticAnalysisFramework/EntityIdTableTest.cpp
index 922b121849236..7afa4943bcb79 100644
--- a/clang/unittests/Analysis/Scalable/EntityIdTableTest.cpp
+++ b/clang/unittests/ScalableStaticAnalysisFramework/EntityIdTableTest.cpp
@@ -1,4 +1,4 @@
-//===- unittests/Analysis/Scalable/EntityIdTableTest.cpp -----------------===//
+//===- EntityIdTableTest.cpp ----------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 // See https://llvm.org/LICENSE.txt for license information.
@@ -6,10 +6,10 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Analysis/Scalable/Model/EntityIdTable.h"
-#include "clang/Analysis/Scalable/Model/BuildNamespace.h"
-#include "clang/Analysis/Scalable/Model/EntityId.h"
-#include "clang/Analysis/Scalable/Model/EntityName.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityIdTable.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/BuildNamespace.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityId.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityName.h"
 #include "gtest/gtest.h"
 
 namespace clang {

diff  --git a/clang/unittests/Analysis/Scalable/EntityIdTest.cpp b/clang/unittests/ScalableStaticAnalysisFramework/EntityIdTest.cpp
similarity index 86%
rename from clang/unittests/Analysis/Scalable/EntityIdTest.cpp
rename to clang/unittests/ScalableStaticAnalysisFramework/EntityIdTest.cpp
index 36526cc308ccd..9a07aed13a432 100644
--- a/clang/unittests/Analysis/Scalable/EntityIdTest.cpp
+++ b/clang/unittests/ScalableStaticAnalysisFramework/EntityIdTest.cpp
@@ -1,4 +1,4 @@
-//===- unittests/Analysis/Scalable/EntityIdTest.cpp ----------------------===//
+//===- EntityIdTest.cpp ---------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 // See https://llvm.org/LICENSE.txt for license information.
@@ -6,10 +6,10 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Analysis/Scalable/Model/EntityId.h"
-#include "clang/Analysis/Scalable/Model/EntityIdTable.h"
-#include "clang/Analysis/Scalable/Model/EntityName.h"
-#include "clang/Analysis/Scalable/Support/FormatProviders.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityId.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityIdTable.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityName.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Support/FormatProviders.h"
 #include "llvm/Support/FormatVariadic.h"
 #include "llvm/Support/raw_ostream.h"
 #include "gtest/gtest.h"

diff  --git a/clang/unittests/Analysis/Scalable/EntityLinkageTest.cpp b/clang/unittests/ScalableStaticAnalysisFramework/EntityLinkageTest.cpp
similarity index 93%
rename from clang/unittests/Analysis/Scalable/EntityLinkageTest.cpp
rename to clang/unittests/ScalableStaticAnalysisFramework/EntityLinkageTest.cpp
index 74cdb859d72a2..a435f2f2c8974 100644
--- a/clang/unittests/Analysis/Scalable/EntityLinkageTest.cpp
+++ b/clang/unittests/ScalableStaticAnalysisFramework/EntityLinkageTest.cpp
@@ -1,4 +1,4 @@
-//===- unittests/Analysis/Scalable/EntityLinkageTest.cpp -----------------===//
+//===- EntityLinkageTest.cpp ----------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 // See https://llvm.org/LICENSE.txt for license information.
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Analysis/Scalable/Model/EntityLinkage.h"
-#include "clang/Analysis/Scalable/Support/FormatProviders.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityLinkage.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Support/FormatProviders.h"
 #include "llvm/Support/FormatVariadic.h"
 #include "llvm/Support/raw_ostream.h"
 #include "gtest/gtest.h"

diff  --git a/clang/unittests/Analysis/Scalable/EntityLinkerTest.cpp b/clang/unittests/ScalableStaticAnalysisFramework/EntityLinkerTest.cpp
similarity index 96%
rename from clang/unittests/Analysis/Scalable/EntityLinkerTest.cpp
rename to clang/unittests/ScalableStaticAnalysisFramework/EntityLinkerTest.cpp
index 93e276f0c0237..ac0ede4a13ae0 100644
--- a/clang/unittests/Analysis/Scalable/EntityLinkerTest.cpp
+++ b/clang/unittests/ScalableStaticAnalysisFramework/EntityLinkerTest.cpp
@@ -1,4 +1,4 @@
-//===- unittests/Analysis/Scalable/EntityLinkerTest.cpp -------------------===//
+//===- EntityLinkerTest.cpp -----------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 // See https://llvm.org/LICENSE.txt for license information.
@@ -6,17 +6,17 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Analysis/Scalable/EntityLinker/EntityLinker.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntityLinker.h"
 #include "TestFixture.h"
-#include "clang/Analysis/Scalable/EntityLinker/EntitySummaryEncoding.h"
-#include "clang/Analysis/Scalable/EntityLinker/LUSummaryEncoding.h"
-#include "clang/Analysis/Scalable/EntityLinker/TUSummaryEncoding.h"
-#include "clang/Analysis/Scalable/Model/BuildNamespace.h"
-#include "clang/Analysis/Scalable/Model/EntityId.h"
-#include "clang/Analysis/Scalable/Model/EntityIdTable.h"
-#include "clang/Analysis/Scalable/Model/EntityLinkage.h"
-#include "clang/Analysis/Scalable/Model/EntityName.h"
-#include "clang/Analysis/Scalable/Model/SummaryName.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntitySummaryEncoding.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummaryEncoding.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/EntityLinker/TUSummaryEncoding.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/BuildNamespace.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityId.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityIdTable.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityLinkage.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityName.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/SummaryName.h"
 #include "llvm/Testing/Support/Error.h"
 #include "gmock/gmock.h"
 #include "gtest/gtest.h"

diff  --git a/clang/unittests/Analysis/Scalable/EntityNameTest.cpp b/clang/unittests/ScalableStaticAnalysisFramework/EntityNameTest.cpp
similarity index 89%
rename from clang/unittests/Analysis/Scalable/EntityNameTest.cpp
rename to clang/unittests/ScalableStaticAnalysisFramework/EntityNameTest.cpp
index a1a1f9ea24fda..651b43744ed35 100644
--- a/clang/unittests/Analysis/Scalable/EntityNameTest.cpp
+++ b/clang/unittests/ScalableStaticAnalysisFramework/EntityNameTest.cpp
@@ -1,4 +1,4 @@
-//===- unittests/Analysis/Scalable/EntityNameTest.cpp --------------------===//
+//===- EntityNameTest.cpp -------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 // See https://llvm.org/LICENSE.txt for license information.
@@ -6,9 +6,9 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Analysis/Scalable/Model/EntityName.h"
-#include "clang/Analysis/Scalable/Model/BuildNamespace.h"
-#include "clang/Analysis/Scalable/Support/FormatProviders.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityName.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/BuildNamespace.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Support/FormatProviders.h"
 #include "llvm/Support/FormatVariadic.h"
 #include "llvm/Support/raw_ostream.h"
 #include "gtest/gtest.h"

diff  --git a/clang/unittests/Analysis/Scalable/ErrorBuilderTest.cpp b/clang/unittests/ScalableStaticAnalysisFramework/ErrorBuilderTest.cpp
similarity index 97%
rename from clang/unittests/Analysis/Scalable/ErrorBuilderTest.cpp
rename to clang/unittests/ScalableStaticAnalysisFramework/ErrorBuilderTest.cpp
index f1ba580842b89..65db17416b965 100644
--- a/clang/unittests/Analysis/Scalable/ErrorBuilderTest.cpp
+++ b/clang/unittests/ScalableStaticAnalysisFramework/ErrorBuilderTest.cpp
@@ -1,4 +1,4 @@
-//===- unittests/Analysis/Scalable/ErrorBuilderTest.cpp ------------------===//
+//===- ErrorBuilderTest.cpp -----------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 // See https://llvm.org/LICENSE.txt for license information.
@@ -6,7 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Analysis/Scalable/Support/ErrorBuilder.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Support/ErrorBuilder.h"
 #include "gtest/gtest.h"
 #include <system_error>
 

diff  --git a/clang/unittests/Analysis/Scalable/ModelStringConversionsTest.cpp b/clang/unittests/ScalableStaticAnalysisFramework/ModelStringConversionsTest.cpp
similarity index 97%
rename from clang/unittests/Analysis/Scalable/ModelStringConversionsTest.cpp
rename to clang/unittests/ScalableStaticAnalysisFramework/ModelStringConversionsTest.cpp
index 56ec846b3d9b1..aff5140f26c2f 100644
--- a/clang/unittests/Analysis/Scalable/ModelStringConversionsTest.cpp
+++ b/clang/unittests/ScalableStaticAnalysisFramework/ModelStringConversionsTest.cpp
@@ -6,7 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "../../../lib/Analysis/Scalable/ModelStringConversions.h"
+#include "../../lib/ScalableStaticAnalysisFramework/Core/ModelStringConversions.h"
 #include "gtest/gtest.h"
 
 using namespace clang::ssaf;

diff  --git a/clang/unittests/Analysis/Scalable/Registries/FancyAnalysisData.cpp b/clang/unittests/ScalableStaticAnalysisFramework/Registries/FancyAnalysisData.cpp
similarity index 96%
rename from clang/unittests/Analysis/Scalable/Registries/FancyAnalysisData.cpp
rename to clang/unittests/ScalableStaticAnalysisFramework/Registries/FancyAnalysisData.cpp
index 7faaaade6b6f0..084835190f7bd 100644
--- a/clang/unittests/Analysis/Scalable/Registries/FancyAnalysisData.cpp
+++ b/clang/unittests/ScalableStaticAnalysisFramework/Registries/FancyAnalysisData.cpp
@@ -7,7 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "Registries/MockSerializationFormat.h"
-#include "clang/Analysis/Scalable/TUSummary/EntitySummary.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/TUSummary/EntitySummary.h"
 #include "llvm/Support/Casting.h"
 #include "llvm/Support/Registry.h"
 

diff  --git a/clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp b/clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.cpp
similarity index 90%
rename from clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
rename to clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.cpp
index 2302a7e04fe89..e7a3e90e0bb31 100644
--- a/clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
+++ b/clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.cpp
@@ -7,15 +7,15 @@
 //===----------------------------------------------------------------------===//
 
 #include "Registries/MockSerializationFormat.h"
-#include "clang/Analysis/Scalable/EntityLinker/LUSummary.h"
-#include "clang/Analysis/Scalable/EntityLinker/LUSummaryEncoding.h"
-#include "clang/Analysis/Scalable/EntityLinker/TUSummaryEncoding.h"
-#include "clang/Analysis/Scalable/Model/BuildNamespace.h"
-#include "clang/Analysis/Scalable/Model/EntityName.h"
-#include "clang/Analysis/Scalable/Model/SummaryName.h"
-#include "clang/Analysis/Scalable/Serialization/SerializationFormat.h"
-#include "clang/Analysis/Scalable/Serialization/SerializationFormatRegistry.h"
-#include "clang/Analysis/Scalable/TUSummary/TUSummary.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummary.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummaryEncoding.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/EntityLinker/TUSummaryEncoding.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/BuildNamespace.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityName.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/SummaryName.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormat.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormatRegistry.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummary.h"
 #include "llvm/ADT/STLExtras.h"
 #include "llvm/ADT/SmallVector.h"
 #include "llvm/ADT/StringRef.h"

diff  --git a/clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.h b/clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.h
similarity index 83%
rename from clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.h
rename to clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.h
index e3325226fd4bf..87d84c3d06c7a 100644
--- a/clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.h
+++ b/clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.h
@@ -6,11 +6,11 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_CLANG_UNITTESTS_ANALYSIS_SCALABLE_REGISTRIES_MOCKSERIALIZATIONFORMAT_H
-#define LLVM_CLANG_UNITTESTS_ANALYSIS_SCALABLE_REGISTRIES_MOCKSERIALIZATIONFORMAT_H
+#ifndef LLVM_CLANG_UNITTESTS_SCALABLESTATICANALYSISFRAMEWORK_REGISTRIES_MOCKSERIALIZATIONFORMAT_H
+#define LLVM_CLANG_UNITTESTS_SCALABLESTATICANALYSISFRAMEWORK_REGISTRIES_MOCKSERIALIZATIONFORMAT_H
 
-#include "clang/Analysis/Scalable/Model/SummaryName.h"
-#include "clang/Analysis/Scalable/Serialization/SerializationFormat.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/SummaryName.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormat.h"
 #include "clang/Support/Compiler.h"
 #include "llvm/ADT/STLFunctionalExtras.h"
 #include "llvm/Support/Registry.h"
@@ -71,4 +71,4 @@ extern template class CLANG_TEMPLATE_ABI
     Registry<clang::ssaf::MockSerializationFormat::FormatInfo>;
 } // namespace llvm
 
-#endif // LLVM_CLANG_UNITTESTS_ANALYSIS_SCALABLE_REGISTRIES_MOCKSERIALIZATIONFORMAT_H
+#endif // LLVM_CLANG_UNITTESTS_SCALABLESTATICANALYSISFRAMEWORK_REGISTRIES_MOCKSERIALIZATIONFORMAT_H

diff  --git a/clang/unittests/Analysis/Scalable/Registries/MockSummaryExtractor1.cpp b/clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSummaryExtractor1.cpp
similarity index 88%
rename from clang/unittests/Analysis/Scalable/Registries/MockSummaryExtractor1.cpp
rename to clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSummaryExtractor1.cpp
index ec31e2e16bc0a..7f4e9a91febbb 100644
--- a/clang/unittests/Analysis/Scalable/Registries/MockSummaryExtractor1.cpp
+++ b/clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSummaryExtractor1.cpp
@@ -8,8 +8,8 @@
 
 #include "MockTUSummaryBuilder.h"
 #include "clang/AST/ASTContext.h"
-#include "clang/Analysis/Scalable/TUSummary/ExtractorRegistry.h"
-#include "clang/Analysis/Scalable/TUSummary/TUSummaryBuilder.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/TUSummary/ExtractorRegistry.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryBuilder.h"
 
 using namespace clang;
 using namespace ssaf;

diff  --git a/clang/unittests/Analysis/Scalable/Registries/MockSummaryExtractor2.cpp b/clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSummaryExtractor2.cpp
similarity index 88%
rename from clang/unittests/Analysis/Scalable/Registries/MockSummaryExtractor2.cpp
rename to clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSummaryExtractor2.cpp
index 90127a160bfa9..640228e2b7e2c 100644
--- a/clang/unittests/Analysis/Scalable/Registries/MockSummaryExtractor2.cpp
+++ b/clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSummaryExtractor2.cpp
@@ -8,8 +8,8 @@
 
 #include "MockTUSummaryBuilder.h"
 #include "clang/AST/ASTContext.h"
-#include "clang/Analysis/Scalable/TUSummary/ExtractorRegistry.h"
-#include "clang/Analysis/Scalable/TUSummary/TUSummaryBuilder.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/TUSummary/ExtractorRegistry.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryBuilder.h"
 
 using namespace clang;
 using namespace ssaf;

diff  --git a/clang/unittests/Analysis/Scalable/Registries/MockTUSummaryBuilder.h b/clang/unittests/ScalableStaticAnalysisFramework/Registries/MockTUSummaryBuilder.h
similarity index 69%
rename from clang/unittests/Analysis/Scalable/Registries/MockTUSummaryBuilder.h
rename to clang/unittests/ScalableStaticAnalysisFramework/Registries/MockTUSummaryBuilder.h
index 755a47471a9f8..389faed325050 100644
--- a/clang/unittests/Analysis/Scalable/Registries/MockTUSummaryBuilder.h
+++ b/clang/unittests/ScalableStaticAnalysisFramework/Registries/MockTUSummaryBuilder.h
@@ -6,7 +6,10 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Analysis/Scalable/TUSummary/TUSummaryBuilder.h"
+#ifndef LLVM_CLANG_UNITTESTS_SCALABLESTATICANALYSISFRAMEWORK_REGISTRIES_MOCKTUSUMMARYBUILDER_H
+#define LLVM_CLANG_UNITTESTS_SCALABLESTATICANALYSISFRAMEWORK_REGISTRIES_MOCKTUSUMMARYBUILDER_H
+
+#include "clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryBuilder.h"
 #include "llvm/ADT/Twine.h"
 #include "llvm/Support/raw_ostream.h"
 
@@ -24,3 +27,5 @@ class MockTUSummaryBuilder : public TUSummaryBuilder {
 };
 
 } // namespace clang::ssaf
+
+#endif // LLVM_CLANG_UNITTESTS_SCALABLESTATICANALYSISFRAMEWORK_REGISTRIES_MOCKTUSUMMARYBUILDER_H

diff  --git a/clang/unittests/Analysis/Scalable/Registries/SerializationFormatRegistryTest.cpp b/clang/unittests/ScalableStaticAnalysisFramework/Registries/SerializationFormatRegistryTest.cpp
similarity index 95%
rename from clang/unittests/Analysis/Scalable/Registries/SerializationFormatRegistryTest.cpp
rename to clang/unittests/ScalableStaticAnalysisFramework/Registries/SerializationFormatRegistryTest.cpp
index 65e01cca4ce97..b55754a622e31 100644
--- a/clang/unittests/Analysis/Scalable/Registries/SerializationFormatRegistryTest.cpp
+++ b/clang/unittests/ScalableStaticAnalysisFramework/Registries/SerializationFormatRegistryTest.cpp
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Analysis/Scalable/Serialization/SerializationFormatRegistry.h"
-#include "clang/Analysis/Scalable/TUSummary/TUSummary.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormatRegistry.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummary.h"
 #include "llvm/ADT/STLExtras.h"
 #include "llvm/ADT/ScopeExit.h"
 #include "llvm/ADT/StringRef.h"

diff  --git a/clang/unittests/Analysis/Scalable/Registries/SummaryExtractorRegistryTest.cpp b/clang/unittests/ScalableStaticAnalysisFramework/Registries/SummaryExtractorRegistryTest.cpp
similarity index 96%
rename from clang/unittests/Analysis/Scalable/Registries/SummaryExtractorRegistryTest.cpp
rename to clang/unittests/ScalableStaticAnalysisFramework/Registries/SummaryExtractorRegistryTest.cpp
index a17a4f145b038..5211319063b60 100644
--- a/clang/unittests/Analysis/Scalable/Registries/SummaryExtractorRegistryTest.cpp
+++ b/clang/unittests/ScalableStaticAnalysisFramework/Registries/SummaryExtractorRegistryTest.cpp
@@ -7,9 +7,9 @@
 //===----------------------------------------------------------------------===//
 
 #include "MockTUSummaryBuilder.h"
-#include "clang/Analysis/Scalable/TUSummary/ExtractorRegistry.h"
-#include "clang/Analysis/Scalable/TUSummary/TUSummary.h"
 #include "clang/Frontend/MultiplexConsumer.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/TUSummary/ExtractorRegistry.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummary.h"
 #include "clang/Tooling/Tooling.h"
 #include "llvm/ADT/StringRef.h"
 #include "gtest/gtest.h"

diff  --git a/clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/JSONFormatTest.cpp b/clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/JSONFormatTest.cpp
similarity index 99%
rename from clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/JSONFormatTest.cpp
rename to clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/JSONFormatTest.cpp
index 66d112580d748..2416f5e47b622 100644
--- a/clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/JSONFormatTest.cpp
+++ b/clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/JSONFormatTest.cpp
@@ -12,7 +12,7 @@
 
 #include "JSONFormatTest.h"
 
-#include "clang/Analysis/Scalable/Serialization/JSONFormat.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat.h"
 #include "llvm/ADT/STLExtras.h"
 #include "llvm/Support/FormatVariadic.h"
 #include "llvm/Support/Registry.h"

diff  --git a/clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/JSONFormatTest.h b/clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/JSONFormatTest.h
similarity index 95%
rename from clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/JSONFormatTest.h
rename to clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/JSONFormatTest.h
index a57b5224c3795..515735e788d0d 100644
--- a/clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/JSONFormatTest.h
+++ b/clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/JSONFormatTest.h
@@ -10,8 +10,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_CLANG_UNITTESTS_ANALYSIS_SCALABLE_SERIALIZATION_JSONFORMATTEST_JSONFORMATTEST_H
-#define LLVM_CLANG_UNITTESTS_ANALYSIS_SCALABLE_SERIALIZATION_JSONFORMATTEST_JSONFORMATTEST_H
+#ifndef LLVM_CLANG_UNITTESTS_SCALABLESTATICANALYSISFRAMEWORK_SERIALIZATION_JSONFORMATTEST_JSONFORMATTEST_H
+#define LLVM_CLANG_UNITTESTS_SCALABLESTATICANALYSISFRAMEWORK_SERIALIZATION_JSONFORMATTEST_JSONFORMATTEST_H
 
 #include "TestFixture.h"
 #include "llvm/ADT/SmallString.h"
@@ -169,4 +169,4 @@ struct MismatchedEntitySummaryForJSONFormatTest final : EntitySummary {
 
 } // namespace clang::ssaf
 
-#endif // LLVM_CLANG_UNITTESTS_ANALYSIS_SCALABLE_SERIALIZATION_JSONFORMATTEST_JSONFORMATTEST_H
+#endif // LLVM_CLANG_UNITTESTS_SCALABLESTATICANALYSISFRAMEWORK_SERIALIZATION_JSONFORMATTEST_JSONFORMATTEST_H

diff  --git a/clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/LUSummaryTest.cpp b/clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/LUSummaryTest.cpp
similarity index 99%
rename from clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/LUSummaryTest.cpp
rename to clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/LUSummaryTest.cpp
index 062bdcde86336..ecca3f333e54b 100644
--- a/clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/LUSummaryTest.cpp
+++ b/clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/LUSummaryTest.cpp
@@ -13,9 +13,9 @@
 
 #include "JSONFormatTest.h"
 
-#include "clang/Analysis/Scalable/EntityLinker/LUSummary.h"
-#include "clang/Analysis/Scalable/EntityLinker/LUSummaryEncoding.h"
-#include "clang/Analysis/Scalable/Serialization/JSONFormat.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummary.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummaryEncoding.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat.h"
 #include "llvm/Testing/Support/Error.h"
 #include "gmock/gmock.h"
 

diff  --git a/clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/TUSummaryTest.cpp b/clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/TUSummaryTest.cpp
similarity index 99%
rename from clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/TUSummaryTest.cpp
rename to clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/TUSummaryTest.cpp
index 98d749d8fa67e..7d0e34dd7c569 100644
--- a/clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/TUSummaryTest.cpp
+++ b/clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/TUSummaryTest.cpp
@@ -13,9 +13,9 @@
 
 #include "JSONFormatTest.h"
 
-#include "clang/Analysis/Scalable/EntityLinker/TUSummaryEncoding.h"
-#include "clang/Analysis/Scalable/Serialization/JSONFormat.h"
-#include "clang/Analysis/Scalable/TUSummary/TUSummary.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/EntityLinker/TUSummaryEncoding.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummary.h"
 #include "llvm/Testing/Support/Error.h"
 #include "gmock/gmock.h"
 

diff  --git a/clang/unittests/Analysis/Scalable/SummaryData/SummaryDataTest.cpp b/clang/unittests/ScalableStaticAnalysisFramework/SummaryData/SummaryDataTest.cpp
similarity index 94%
rename from clang/unittests/Analysis/Scalable/SummaryData/SummaryDataTest.cpp
rename to clang/unittests/ScalableStaticAnalysisFramework/SummaryData/SummaryDataTest.cpp
index 067683b1ca164..caab7661593f3 100644
--- a/clang/unittests/Analysis/Scalable/SummaryData/SummaryDataTest.cpp
+++ b/clang/unittests/ScalableStaticAnalysisFramework/SummaryData/SummaryDataTest.cpp
@@ -7,16 +7,16 @@
 //===----------------------------------------------------------------------===//
 
 #include "../TestFixture.h"
-#include "clang/Analysis/Scalable/EntityLinker/LUSummary.h"
-#include "clang/Analysis/Scalable/Model/BuildNamespace.h"
-#include "clang/Analysis/Scalable/Model/EntityId.h"
-#include "clang/Analysis/Scalable/Model/EntityIdTable.h"
-#include "clang/Analysis/Scalable/Model/EntityLinkage.h"
-#include "clang/Analysis/Scalable/Model/EntityName.h"
-#include "clang/Analysis/Scalable/Model/SummaryName.h"
-#include "clang/Analysis/Scalable/SummaryData/LUSummaryConsumer.h"
-#include "clang/Analysis/Scalable/SummaryData/SummaryDataBuilderRegistry.h"
-#include "clang/Analysis/Scalable/TUSummary/EntitySummary.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummary.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/BuildNamespace.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityId.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityIdTable.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityLinkage.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityName.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/SummaryName.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/SummaryData/LUSummaryConsumer.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataBuilderRegistry.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/TUSummary/EntitySummary.h"
 #include "llvm/ADT/STLExtras.h"
 #include "llvm/Testing/Support/Error.h"
 #include "gtest/gtest.h"

diff  --git a/clang/unittests/Analysis/Scalable/SummaryNameTest.cpp b/clang/unittests/ScalableStaticAnalysisFramework/SummaryNameTest.cpp
similarity index 90%
rename from clang/unittests/Analysis/Scalable/SummaryNameTest.cpp
rename to clang/unittests/ScalableStaticAnalysisFramework/SummaryNameTest.cpp
index 51fa12d46664c..e1d35f6628232 100644
--- a/clang/unittests/Analysis/Scalable/SummaryNameTest.cpp
+++ b/clang/unittests/ScalableStaticAnalysisFramework/SummaryNameTest.cpp
@@ -1,4 +1,4 @@
-//===- unittests/Analysis/Scalable/SummaryNameTest.cpp --------------------===//
+//===- SummaryNameTest.cpp ------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 // See https://llvm.org/LICENSE.txt for license information.
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Analysis/Scalable/Model/SummaryName.h"
-#include "clang/Analysis/Scalable/Support/FormatProviders.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/SummaryName.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Support/FormatProviders.h"
 #include "llvm/Support/FormatVariadic.h"
 #include "llvm/Support/raw_ostream.h"
 #include "gtest/gtest.h"

diff  --git a/clang/unittests/Analysis/Scalable/TUSummaryBuilderTest.cpp b/clang/unittests/ScalableStaticAnalysisFramework/TUSummaryBuilderTest.cpp
similarity index 93%
rename from clang/unittests/Analysis/Scalable/TUSummaryBuilderTest.cpp
rename to clang/unittests/ScalableStaticAnalysisFramework/TUSummaryBuilderTest.cpp
index f70b39b97b841..7337d1e60091b 100644
--- a/clang/unittests/Analysis/Scalable/TUSummaryBuilderTest.cpp
+++ b/clang/unittests/ScalableStaticAnalysisFramework/TUSummaryBuilderTest.cpp
@@ -1,4 +1,4 @@
-//===- unittests/Analysis/Scalable/TUSummaryBuilderTest.cpp ---------------===//
+//===- TUSummaryBuilderTest.cpp -------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 // See https://llvm.org/LICENSE.txt for license information.
@@ -6,15 +6,15 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Analysis/Scalable/TUSummary/TUSummaryBuilder.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryBuilder.h"
 #include "TestFixture.h"
-#include "clang/Analysis/Scalable/Model/BuildNamespace.h"
-#include "clang/Analysis/Scalable/Model/EntityId.h"
-#include "clang/Analysis/Scalable/Model/EntityName.h"
-#include "clang/Analysis/Scalable/Model/SummaryName.h"
-#include "clang/Analysis/Scalable/Serialization/SerializationFormat.h"
-#include "clang/Analysis/Scalable/TUSummary/EntitySummary.h"
-#include "clang/Analysis/Scalable/TUSummary/TUSummary.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/BuildNamespace.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityId.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityName.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/SummaryName.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormat.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/TUSummary/EntitySummary.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummary.h"
 #include "llvm/ADT/ArrayRef.h"
 #include "llvm/ADT/STLExtras.h"
 #include "llvm/ADT/SmallVector.h"

diff  --git a/clang/unittests/Analysis/Scalable/TestFixture.cpp b/clang/unittests/ScalableStaticAnalysisFramework/TestFixture.cpp
similarity index 70%
rename from clang/unittests/Analysis/Scalable/TestFixture.cpp
rename to clang/unittests/ScalableStaticAnalysisFramework/TestFixture.cpp
index ef021fccd3683..c1c41997abcf2 100644
--- a/clang/unittests/Analysis/Scalable/TestFixture.cpp
+++ b/clang/unittests/ScalableStaticAnalysisFramework/TestFixture.cpp
@@ -1,4 +1,4 @@
-//===- unittests/Analysis/Scalable/TestFixture.cpp ------------------------===//
+//===- TestFixture.cpp ----------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 // See https://llvm.org/LICENSE.txt for license information.
@@ -7,11 +7,11 @@
 //===----------------------------------------------------------------------===//
 
 #include "TestFixture.h"
-#include "clang/Analysis/Scalable/Model/BuildNamespace.h"
-#include "clang/Analysis/Scalable/Model/EntityId.h"
-#include "clang/Analysis/Scalable/Model/EntityLinkage.h"
-#include "clang/Analysis/Scalable/Model/EntityName.h"
-#include "clang/Analysis/Scalable/Model/SummaryName.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/BuildNamespace.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityId.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityLinkage.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityName.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/SummaryName.h"
 #include <ostream>
 #include <string>
 

diff  --git a/clang/unittests/Analysis/Scalable/TestFixture.h b/clang/unittests/ScalableStaticAnalysisFramework/TestFixture.h
similarity index 50%
rename from clang/unittests/Analysis/Scalable/TestFixture.h
rename to clang/unittests/ScalableStaticAnalysisFramework/TestFixture.h
index 5759ce59a0ac6..74bc3a09dd0d8 100644
--- a/clang/unittests/Analysis/Scalable/TestFixture.h
+++ b/clang/unittests/ScalableStaticAnalysisFramework/TestFixture.h
@@ -6,19 +6,19 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_CLANG_UNITTESTS_ANALYSIS_SCALABLE_TESTFIXTURE_H
-#define LLVM_CLANG_UNITTESTS_ANALYSIS_SCALABLE_TESTFIXTURE_H
+#ifndef LLVM_CLANG_UNITTESTS_SCALABLESTATICANALYSISFRAMEWORK_TESTFIXTURE_H
+#define LLVM_CLANG_UNITTESTS_SCALABLESTATICANALYSISFRAMEWORK_TESTFIXTURE_H
 
-#include "clang/Analysis/Scalable/EntityLinker/LUSummary.h"
-#include "clang/Analysis/Scalable/EntityLinker/LUSummaryEncoding.h"
-#include "clang/Analysis/Scalable/EntityLinker/TUSummaryEncoding.h"
-#include "clang/Analysis/Scalable/Model/BuildNamespace.h"
-#include "clang/Analysis/Scalable/Model/EntityId.h"
-#include "clang/Analysis/Scalable/Model/EntityIdTable.h"
-#include "clang/Analysis/Scalable/Model/EntityLinkage.h"
-#include "clang/Analysis/Scalable/Model/EntityName.h"
-#include "clang/Analysis/Scalable/Model/SummaryName.h"
-#include "clang/Analysis/Scalable/TUSummary/TUSummary.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummary.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummaryEncoding.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/EntityLinker/TUSummaryEncoding.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/BuildNamespace.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityId.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityIdTable.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityLinkage.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/EntityName.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/SummaryName.h"
+#include "clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummary.h"
 #include "gtest/gtest.h"
 #include <iosfwd>
 
@@ -29,7 +29,7 @@ class TestFixture : public ::testing::Test {
 #define FIELD(CLASS, FIELD_NAME)                                               \
   static const auto &get##FIELD_NAME(const CLASS &X) { return X.FIELD_NAME; }  \
   static auto &get##FIELD_NAME(CLASS &X) { return X.FIELD_NAME; }
-#include "clang/Analysis/Scalable/Model/PrivateFieldNames.def"
+#include "clang/ScalableStaticAnalysisFramework/Core/Model/PrivateFieldNames.def"
 };
 
 void PrintTo(const BuildNamespace &BN, std::ostream *OS);
@@ -41,4 +41,4 @@ void PrintTo(const SummaryName &N, std::ostream *OS);
 
 } // namespace clang::ssaf
 
-#endif // LLVM_CLANG_UNITTESTS_ANALYSIS_SCALABLE_TESTFIXTURE_H
+#endif // LLVM_CLANG_UNITTESTS_SCALABLESTATICANALYSISFRAMEWORK_TESTFIXTURE_H

diff  --git a/llvm/utils/gn/secondary/clang/lib/Analysis/Scalable/BUILD.gn b/llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysisFramework/Core/BUILD.gn
similarity index 92%
rename from llvm/utils/gn/secondary/clang/lib/Analysis/Scalable/BUILD.gn
rename to llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysisFramework/Core/BUILD.gn
index 1f3c07ba32470..be28fa7c52475 100644
--- a/llvm/utils/gn/secondary/clang/lib/Analysis/Scalable/BUILD.gn
+++ b/llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysisFramework/Core/BUILD.gn
@@ -1,5 +1,5 @@
-static_library("Scalable") {
-  output_name = "clangAnalysisScalable"
+static_library("Core") {
+  output_name = "clangScalableStaticAnalysisFrameworkCore"
   configs += [ "//llvm/utils/gn/build:clang_code" ]
   deps = [
     "//clang/lib/AST",

diff  --git a/llvm/utils/gn/secondary/clang/unittests/BUILD.gn b/llvm/utils/gn/secondary/clang/unittests/BUILD.gn
index 8c9948910bc58..7d108c963c1cf 100644
--- a/llvm/utils/gn/secondary/clang/unittests/BUILD.gn
+++ b/llvm/utils/gn/secondary/clang/unittests/BUILD.gn
@@ -29,7 +29,7 @@ group("unittests") {
     deps += [
       "Analysis:ClangAnalysisTests",
       "Analysis/FlowSensitive:ClangAnalysisFlowSensitiveTests",
-      "Analysis/Scalable:ClangScalableAnalysisTests",
+      "ScalableStaticAnalysisFramework:ClangScalableAnalysisTests",
       "StaticAnalyzer:StaticAnalysisTests",
     ]
   }

diff  --git a/llvm/utils/gn/secondary/clang/unittests/Analysis/Scalable/BUILD.gn b/llvm/utils/gn/secondary/clang/unittests/ScalableStaticAnalysisFramework/BUILD.gn
similarity index 95%
rename from llvm/utils/gn/secondary/clang/unittests/Analysis/Scalable/BUILD.gn
rename to llvm/utils/gn/secondary/clang/unittests/ScalableStaticAnalysisFramework/BUILD.gn
index 8135debf7e6be..99e0e60267186 100644
--- a/llvm/utils/gn/secondary/clang/unittests/Analysis/Scalable/BUILD.gn
+++ b/llvm/utils/gn/secondary/clang/unittests/ScalableStaticAnalysisFramework/BUILD.gn
@@ -5,8 +5,8 @@ unittest("ClangScalableAnalysisTests") {
   deps = [
     "//clang/lib/AST",
     "//clang/lib/ASTMatchers",
-    "//clang/lib/Analysis/Scalable",
     "//clang/lib/Basic",
+    "//clang/lib/ScalableStaticAnalysisFramework/Core",
     "//clang/lib/Serialization",
     "//clang/lib/Tooling",
     "//llvm/lib/Support",


        


More information about the cfe-commits mailing list