[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