[PATCH] D24701: [ThinLTO] Ensure anonymous globals renamed even at -O0

Teresa Johnson via llvm-commits llvm-commits at lists.llvm.org
Sat Sep 17 13:49:05 PDT 2016


This revision was automatically updated to reflect the committed changes.
Closed by commit rL281840: [ThinLTO] Ensure anonymous globals renamed even at -O0 (authored by tejohnson).

Changed prior to commit:
  https://reviews.llvm.org/D24701?vs=71738&id=71739#toc

Repository:
  rL LLVM

https://reviews.llvm.org/D24701

Files:
  llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp
  llvm/trunk/test/Transforms/NameAnonGlobals/rename.ll

Index: llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp
===================================================================
--- llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp
+++ llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp
@@ -112,6 +112,10 @@
     "enable-loop-load-elim", cl::init(true), cl::Hidden,
     cl::desc("Enable the LoopLoadElimination Pass"));
 
+static cl::opt<bool>
+    EnablePrepareForThinLTO("prepare-for-thinlto", cl::init(false), cl::Hidden,
+                            cl::desc("Enable preparation for ThinLTO."));
+
 static cl::opt<bool> RunPGOInstrGen(
     "profile-generate", cl::init(false), cl::Hidden,
     cl::desc("Enable PGO instrumentation."));
@@ -163,7 +167,7 @@
     EnablePGOInstrGen = RunPGOInstrGen;
     PGOInstrGen = PGOOutputFile;
     PGOInstrUse = RunPGOInstrUse;
-    PrepareForThinLTO = false;
+    PrepareForThinLTO = EnablePrepareForThinLTO;
     PerformThinLTO = false;
 }
 
@@ -395,6 +399,10 @@
     else if (!GlobalExtensions->empty() || !Extensions.empty())
       MPM.add(createBarrierNoopPass());
 
+    if (PrepareForThinLTO)
+      // Rename anon globals to be able to export them in the summary.
+      MPM.add(createNameAnonGlobalPass());
+
     addExtensionsToPM(EP_EnabledOnOptLevel0, MPM);
     return;
   }
Index: llvm/trunk/test/Transforms/NameAnonGlobals/rename.ll
===================================================================
--- llvm/trunk/test/Transforms/NameAnonGlobals/rename.ll
+++ llvm/trunk/test/Transforms/NameAnonGlobals/rename.ll
@@ -1,4 +1,5 @@
 ; RUN: opt -S -name-anon-globals < %s | FileCheck %s
+; RUN: opt -prepare-for-thinlto -O0 -module-summary -o %t.bc < %s
 
 
 ; foo contribute to the unique hash for the module


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D24701.71739.patch
Type: text/x-patch
Size: 1723 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160917/c9bd39e6/attachment.bin>


More information about the llvm-commits mailing list