[PATCH] D22639: Add flag to PassManagerBuilder to disable GVN Hoist Pass.

Alina Sbirlea via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 21 12:01:57 PDT 2016


asbirlea updated this revision to Diff 64937.
asbirlea added a comment.

Add opt flag.


https://reviews.llvm.org/D22639

Files:
  include/llvm/Transforms/IPO/PassManagerBuilder.h
  lib/Transforms/IPO/PassManagerBuilder.cpp

Index: lib/Transforms/IPO/PassManagerBuilder.cpp
===================================================================
--- lib/Transforms/IPO/PassManagerBuilder.cpp
+++ lib/Transforms/IPO/PassManagerBuilder.cpp
@@ -125,6 +125,9 @@
     "enable-loop-versioning-licm", cl::init(false), cl::Hidden,
     cl::desc("Enable the experimental Loop Versioning LICM pass"));
 
+static cl::opt<bool> DisableGVNHoist("disable-gvn-hoist", cl::init(false),
+                                     cl::Hidden,
+                                     cl::desc("Disable GVN Hoist pass"));
 static cl::opt<bool>
     DisablePreInliner("disable-preinline", cl::init(false), cl::Hidden,
                       cl::desc("Disable pre-instrumentation inliner"));
@@ -140,6 +143,7 @@
     LibraryInfo = nullptr;
     Inliner = nullptr;
     ModuleSummary = nullptr;
+    DisableGVNHoistPass = DisableGVNHoist;
     DisableUnitAtATime = false;
     DisableUnrollLoops = false;
     BBVectorize = RunBBVectorization;
@@ -232,7 +236,8 @@
   FPM.add(createCFGSimplificationPass());
   FPM.add(createSROAPass());
   FPM.add(createEarlyCSEPass());
-  FPM.add(createGVNHoistPass());
+  if(!DisableGVNHoist)
+    FPM.add(createGVNHoistPass());
   FPM.add(createLowerExpectIntrinsicPass());
 }
 
Index: include/llvm/Transforms/IPO/PassManagerBuilder.h
===================================================================
--- include/llvm/Transforms/IPO/PassManagerBuilder.h
+++ include/llvm/Transforms/IPO/PassManagerBuilder.h
@@ -122,6 +122,7 @@
   /// The module summary index to use for function importing.
   const ModuleSummaryIndex *ModuleSummary;
 
+  bool DisableGVNHoistPass;
   bool DisableTailCalls;
   bool DisableUnitAtATime;
   bool DisableUnrollLoops;


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D22639.64937.patch
Type: text/x-patch
Size: 1727 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160721/285291c7/attachment.bin>


More information about the llvm-commits mailing list