<div dir="ltr">Tim,<div><br></div><div>Having looked at this recently, is there any particular reason why GlobalMerging has its own "disable me" flag anyway? Wouldn't it be best to just remove this flag completely?</div>
<div><br></div><div>James</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On 18 February 2014 11:17, Tim Northover <span dir="ltr"><<a href="mailto:tnorthover@apple.com" target="_blank">tnorthover@apple.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: tnorthover<br>
Date: Tue Feb 18 05:17:29 2014<br>
New Revision: 201559<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=201559&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=201559&view=rev</a><br>
Log:<br>
GlobalMerge: move "-global-merge" option to the pass itself.<br>
<br>
It's rather odd to have the flag enabling and disabling this pass only affect a<br>
single target.<br>
<br>
Modified:<br>
    llvm/trunk/lib/Target/ARM/ARMTargetMachine.cpp<br>
    llvm/trunk/lib/Transforms/Scalar/GlobalMerge.cpp<br>
<br>
Modified: llvm/trunk/lib/Target/ARM/ARMTargetMachine.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMTargetMachine.cpp?rev=201559&r1=201558&r2=201559&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMTargetMachine.cpp?rev=201559&r1=201558&r2=201559&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/ARM/ARMTargetMachine.cpp (original)<br>
+++ llvm/trunk/lib/Target/ARM/ARMTargetMachine.cpp Tue Feb 18 05:17:29 2014<br>
@@ -24,11 +24,6 @@<br>
 using namespace llvm;<br>
<br>
 static cl::opt<bool><br>
-EnableGlobalMerge("global-merge", cl::Hidden,<br>
-                  cl::desc("Enable global merge pass"),<br>
-                  cl::init(true));<br>
-<br>
-static cl::opt<bool><br>
 DisableA15SDOptimization("disable-a15-sd-optimization", cl::Hidden,<br>
                    cl::desc("Inhibit optimization of S->D register accesses on A15"),<br>
                    cl::init(false));<br>
@@ -184,7 +179,7 @@ TargetPassConfig *ARMBaseTargetMachine::<br>
 }<br>
<br>
 bool ARMPassConfig::addPreISel() {<br>
-  if (TM->getOptLevel() != CodeGenOpt::None && EnableGlobalMerge)<br>
+  if (TM->getOptLevel() != CodeGenOpt::None)<br>
     addPass(createGlobalMergePass(TM));<br>
<br>
   return false;<br>
<br>
Modified: llvm/trunk/lib/Transforms/Scalar/GlobalMerge.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/GlobalMerge.cpp?rev=201559&r1=201558&r2=201559&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/GlobalMerge.cpp?rev=201559&r1=201558&r2=201559&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Transforms/Scalar/GlobalMerge.cpp (original)<br>
+++ llvm/trunk/lib/Transforms/Scalar/GlobalMerge.cpp Tue Feb 18 05:17:29 2014<br>
@@ -71,6 +71,11 @@<br>
 using namespace llvm;<br>
<br>
 static cl::opt<bool><br>
+EnableGlobalMerge("global-merge", cl::Hidden,<br>
+                  cl::desc("Enable global merge pass"),<br>
+                  cl::init(true));<br>
+<br>
+static cl::opt<bool><br>
 EnableGlobalMergeOnConst("global-merge-on-const", cl::Hidden,<br>
                          cl::desc("Enable global merge pass on constants"),<br>
                          cl::init(false));<br>
@@ -231,6 +236,9 @@ void GlobalMerge::setMustKeepGlobalVaria<br>
 }<br>
<br>
 bool GlobalMerge::doInitialization(Module &M) {<br>
+  if (!EnableGlobalMerge)<br>
+    return false;<br>
+<br>
   DenseMap<unsigned, SmallVector<GlobalVariable*, 16> > Globals, ConstGlobals,<br>
                                                         BSSGlobals;<br>
   const TargetLowering *TLI = TM->getTargetLowering();<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div>