[llvm] r274938 - Add 'thinlto_src_module' md with asserts or -enable-import-metadata
Teresa Johnson via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 8 14:36:56 PDT 2016
On Fri, Jul 8, 2016, 2:32 PM Piotr Padlewski via llvm-commits <
llvm-commits at lists.llvm.org> wrote:
> Author: prazek
> Date: Fri Jul 8 16:25:39 2016
> New Revision: 274938
>
> URL: http://llvm.org/viewvc/llvm-project?rev=274938&view=rev
> Log:
> Add 'thinlto_src_module' md with asserts or -enable-import-metadata
>
> Summary:
> This way the metadata will be only generated when asserts enabled,
> or when -enable-import-metadata specified
>
> Reviewers: tejohnson, eraman, mehdi_amini
>
> Subscribers: mehdi_amini, llvm-commits
>
> Differential Revision: http://reviews.llvm.org/D22167
>
> Modified:
> llvm/trunk/lib/Transforms/IPO/FunctionImport.cpp
> llvm/trunk/test/Transforms/FunctionImport/funcimport.ll
>
> Modified: llvm/trunk/lib/Transforms/IPO/FunctionImport.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/FunctionImport.cpp?rev=274938&r1=274937&r2=274938&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/Transforms/IPO/FunctionImport.cpp (original)
> +++ llvm/trunk/lib/Transforms/IPO/FunctionImport.cpp Fri Jul 8 16:25:39
> 2016
> @@ -58,6 +58,16 @@ static cl::opt<bool>
> DontForceImportReferencedDiscardableSymbols("disable-force-link-odr",
> cl::init(false),
> cl::Hidden);
>
> +static cl::opt<bool> EnableImportMetadata(
> + "enable-import-metadata", cl::init(
> +#if !defined(NDEBUG)
> + true /*Enabled with asserts.*/
> +#else
> + false
> +#endif
> + ),
> + cl::Hidden, cl::desc("Enable import metadata like
> 'thinlto_src_module'"));
> +
> // Load lazily a module from \p FileName in \p Context.
> static std::unique_ptr<Module> loadFile(const std::string &FileName,
> LLVMContext &Context) {
> @@ -591,12 +601,15 @@ bool FunctionImporter::importFunctions(
> << SrcModule->getSourceFileName() << "\n");
> if (Import) {
> F.materialize();
> - // Add 'thinlto_src_module' metadata for statistics and debugging.
> - F.setMetadata("thinlto_src_module",
> - llvm::MDNode::get(DestModule.getContext(),
> - {llvm::MDString::get(
> - DestModule.getContext(),
> -
> SrcModule->getSourceFileName())}));
> + if (EnableImportMetadata) {
> + // Add 'thinlto_src_module' metadata for statistics and
> debugging.
> + F.setMetadata(
> + "thinlto_src_module",
> + llvm::MDNode::get(
> + DestModule.getContext(),
> + {llvm::MDString::get(DestModule.getContext(),
> + SrcModule->getSourceFileName())}));
> + }
> GlobalsToImport.insert(&F);
> }
> }
>
> Modified: llvm/trunk/test/Transforms/FunctionImport/funcimport.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/FunctionImport/funcimport.ll?rev=274938&r1=274937&r2=274938&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/Transforms/FunctionImport/funcimport.ll (original)
> +++ llvm/trunk/test/Transforms/FunctionImport/funcimport.ll Fri Jul 8
> 16:25:39 2016
> @@ -4,12 +4,12 @@
> ; RUN: llvm-lto -thinlto -print-summary-global-ids -o %t3 %t.bc %t2.bc
> 2>&1 | FileCheck %s --check-prefix=GUID
>
> ; Do the import now
> -; 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
> +; 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
> ; "-stats" requires +Asserts.
> -; REQUIRES: asserts
> +; REQUIRES asserts
>
Looks like an inadvertent change, not sure if it works without colon. Teresa
>
> ; Test import with smaller instruction limit
> -; 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
> +; 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
> ; INSTLIM5-NOT: @staticfunc.llvm.
>
> ; Test import with smaller instruction limit and without the
> -disable-force-link-odr
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160708/fdc869c0/attachment.html>
More information about the llvm-commits
mailing list