<br><br><div class="gmail_quote"><div dir="ltr">On Fri, Jul 8, 2016, 2:32 PM Piotr Padlewski via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: prazek<br>
Date: Fri Jul  8 16:25:39 2016<br>
New Revision: 274938<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=274938&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=274938&view=rev</a><br>
Log:<br>
Add 'thinlto_src_module' md with asserts or -enable-import-metadata<br>
<br>
Summary:<br>
This way the metadata will be only generated when asserts enabled,<br>
or when -enable-import-metadata specified<br>
<br>
Reviewers: tejohnson, eraman, mehdi_amini<br>
<br>
Subscribers: mehdi_amini, llvm-commits<br>
<br>
Differential Revision: <a href="http://reviews.llvm.org/D22167" rel="noreferrer" target="_blank">http://reviews.llvm.org/D22167</a><br>
<br>
Modified:<br>
    llvm/trunk/lib/Transforms/IPO/FunctionImport.cpp<br>
    llvm/trunk/test/Transforms/FunctionImport/funcimport.ll<br>
<br>
Modified: llvm/trunk/lib/Transforms/IPO/FunctionImport.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/FunctionImport.cpp?rev=274938&r1=274937&r2=274938&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/FunctionImport.cpp?rev=274938&r1=274937&r2=274938&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/Transforms/IPO/FunctionImport.cpp (original)<br>
+++ llvm/trunk/lib/Transforms/IPO/FunctionImport.cpp Fri Jul  8 16:25:39 2016<br>
@@ -58,6 +58,16 @@ static cl::opt<bool><br>
     DontForceImportReferencedDiscardableSymbols("disable-force-link-odr",<br>
                                                 cl::init(false), cl::Hidden);<br>
<br>
+static cl::opt<bool> EnableImportMetadata(<br>
+    "enable-import-metadata", cl::init(<br>
+#if !defined(NDEBUG)<br>
+                                  true /*Enabled with asserts.*/<br>
+#else<br>
+                                  false<br>
+#endif<br>
+                                  ),<br>
+    cl::Hidden, cl::desc("Enable import metadata like 'thinlto_src_module'"));<br>
+<br>
 // Load lazily a module from \p FileName in \p Context.<br>
 static std::unique_ptr<Module> loadFile(const std::string &FileName,<br>
                                         LLVMContext &Context) {<br>
@@ -591,12 +601,15 @@ bool FunctionImporter::importFunctions(<br>
                    << SrcModule->getSourceFileName() << "\n");<br>
       if (Import) {<br>
         F.materialize();<br>
-        // Add 'thinlto_src_module' metadata for statistics and debugging.<br>
-        F.setMetadata("thinlto_src_module",<br>
-                      llvm::MDNode::get(DestModule.getContext(),<br>
-                                        {llvm::MDString::get(<br>
-                                            DestModule.getContext(),<br>
-                                            SrcModule->getSourceFileName())}));<br>
+        if (EnableImportMetadata) {<br>
+          // Add 'thinlto_src_module' metadata for statistics and debugging.<br>
+          F.setMetadata(<br>
+              "thinlto_src_module",<br>
+              llvm::MDNode::get(<br>
+                  DestModule.getContext(),<br>
+                  {llvm::MDString::get(DestModule.getContext(),<br>
+                                       SrcModule->getSourceFileName())}));<br>
+        }<br>
         GlobalsToImport.insert(&F);<br>
       }<br>
     }<br>
<br>
Modified: llvm/trunk/test/Transforms/FunctionImport/funcimport.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/FunctionImport/funcimport.ll?rev=274938&r1=274937&r2=274938&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/FunctionImport/funcimport.ll?rev=274938&r1=274937&r2=274938&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/Transforms/FunctionImport/funcimport.ll (original)<br>
+++ llvm/trunk/test/Transforms/FunctionImport/funcimport.ll Fri Jul  8 16:25:39 2016<br>
@@ -4,12 +4,12 @@<br>
 ; RUN: llvm-lto -thinlto -print-summary-global-ids -o %t3 %t.bc %t2.bc 2>&1 | FileCheck %s --check-prefix=GUID<br>
<br>
 ; Do the import now<br>
-; RUN: opt -disable-force-link-odr -function-import -stats -print-imports -summary-file %t3.thinlto.bc %t.bc -S 2>&1 | FileCheck %s --check-prefix=CHECK --check-prefix=INSTLIMDEF<br>
+; RUN: opt -disable-force-link-odr -function-import -stats -print-imports -enable-import-metadata -summary-file %t3.thinlto.bc %t.bc -S 2>&1 | FileCheck %s --check-prefix=CHECK --check-prefix=INSTLIMDEF<br>
 ; "-stats" requires +Asserts.<br>
-; REQUIRES: asserts<br>
+; REQUIRES asserts<br></blockquote></div><div><br></div><div>Looks like an inadvertent change, not sure if it works without colon. Teresa</div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
 ; Test import with smaller instruction limit<br>
-; RUN: opt -disable-force-link-odr -function-import -summary-file %t3.thinlto.bc %t.bc -import-instr-limit=5 -S | FileCheck %s --check-prefix=CHECK --check-prefix=INSTLIM5<br>
+; RUN: opt -disable-force-link-odr -function-import -enable-import-metadata  -summary-file %t3.thinlto.bc %t.bc -import-instr-limit=5 -S | FileCheck %s --check-prefix=CHECK --check-prefix=INSTLIM5<br>
 ; INSTLIM5-NOT: @staticfunc.llvm.<br>
<br>
 ; Test import with smaller instruction limit and without the -disable-force-link-odr<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote></div>