[llvm] [NewPM] Add pass options for `InternalizePass` to preserve GVs. (PR #91334)

via llvm-commits llvm-commits at lists.llvm.org
Tue May 14 04:14:06 PDT 2024


================
@@ -200,6 +199,20 @@ MODULE_PASS_WITH_PARAMS(
       return StructuralHashPrinterPass(dbgs(), EnableDetailedStructuralHash);
     },
     parseStructuralHashPrinterPassOptions, "detailed")
+MODULE_PASS_WITH_PARAMS(
+    "internalize", "InternalizePass",
+    [](SmallVector<std::string, 0> PreservedGVs) {
+      if (PreservedGVs.empty())
+        return InternalizePass();
+      auto MustPreserveGV = [=](const GlobalValue &GV) {
+        for (auto &PreservedGV : PreservedGVs)
+          if (GV.getName() == PreservedGV)
+            return true;
+        return false;
+      };
+      return InternalizePass(MustPreserveGV);
+    },
+    parseInternalizeGVs, "preserve-gv=GV")
----------------
paperchalice wrote:

Could you move this after `hwsan`? So it can keep lexicographic order.

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


More information about the llvm-commits mailing list