[clang] [Clang] Add clang driver option -fpartition-static-data-sections (PR #124991)

Snehasish Kumar via cfe-commits cfe-commits at lists.llvm.org
Tue Dec 23 22:12:01 PST 2025


================
@@ -6182,6 +6182,26 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
     }
   }
 
+  if (Arg *A =
+          Args.getLastArg(options::OPT_fpartition_static_data_sections,
+                          options::OPT_fno_partition_static_data_sections)) {
+    if (!A->getOption().matches(
+            options::OPT_fno_partition_static_data_sections)) {
+      // This codegen pass is only available on x86 and AArch64 ELF targets.
+      if ((Triple.isX86() || Triple.isAArch64()) && Triple.isOSBinFormatELF()) {
+        A->render(Args, CmdArgs);
+        // Turn on -memprof-annotate-static-data-prefix.
+        // When the memory profile (specified by --fmemory-profile-use) has
+        // static data access profiles, global variable hotness are inferrred
+        // from the profile. Otherwise this option is no-op.
----------------
snehasish wrote:

Can we enable partitioning of compiler generated data only if the memory profile is not provided?

https://github.com/llvm/llvm-project/pull/124991


More information about the cfe-commits mailing list