[llvm] r314963 - Enabling new pass manager in LTO (and thinLTO) link step.

Teresa Johnson via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 4 13:38:39 PDT 2018


On Wed, Apr 4, 2018 at 1:36 PM, Teresa Johnson <tejohnson at google.com> wrote:

>
>
> On Wed, Apr 4, 2018 at 1:28 PM, Peter Collingbourne via llvm-commits <
> llvm-commits at lists.llvm.org> wrote:
>
>> Was this change ever reviewed? (I see the reviews.llvm.org link, but
>> that seems to point to a clang change). It seems to be missing a test, can
>> you add one? It can probably be modelled on llvm/test/tools/llvm-lto2/X86/pipeline.ll
>> .
>>
>
> I searched through some old email and the gold-plugin.cpp change was
> original part of this patch. I asked for a test but specifically asked for
> one to make sure it was passed via the driver, which is what got added.
>

Since Sean committed this for someone else, I can add the test. Since I
approved it. =)


>
> Teresa
>
>
>> Peter
>>
>> On Wed, Oct 4, 2017 at 6:48 PM, Sean Fertile via llvm-commits <
>> llvm-commits at lists.llvm.org> wrote:
>>
>>> Author: sfertile
>>> Date: Wed Oct  4 18:48:42 2017
>>> New Revision: 314963
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=314963&view=rev
>>> Log:
>>> Enabling new pass manager in LTO (and thinLTO) link step.
>>>
>>> Adds the option 'new-pass-manager' to the gold pluggin to enable using
>>> the
>>> new pass manager during the lto/thinlto link step.
>>>
>>> Patch by Graham Yiu.
>>>
>>>  Differential Revision: https://reviews.llvm.org/D38517
>>>
>>> Modified:
>>>     llvm/trunk/tools/gold/gold-plugin.cpp
>>>
>>> Modified: llvm/trunk/tools/gold/gold-plugin.cpp
>>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/gold/go
>>> ld-plugin.cpp?rev=314963&r1=314962&r2=314963&view=diff
>>> ============================================================
>>> ==================
>>> --- llvm/trunk/tools/gold/gold-plugin.cpp (original)
>>> +++ llvm/trunk/tools/gold/gold-plugin.cpp Wed Oct  4 18:48:42 2017
>>> @@ -183,6 +183,8 @@ namespace options {
>>>    static std::vector<const char *> extra;
>>>    // Sample profile file path
>>>    static std::string sample_profile;
>>> +  // New pass manager
>>> +  static bool new_pass_manager = false;
>>>
>>>    static void process_plugin_option(const char *opt_)
>>>    {
>>> @@ -242,6 +244,8 @@ namespace options {
>>>        DisableVerify = true;
>>>      } else if (opt.startswith("sample-profile=")) {
>>>        sample_profile= opt.substr(strlen("sample-profile="));
>>> +    } else if (opt == "new-pass-manager") {
>>> +      new_pass_manager = true;
>>>      } else {
>>>        // Save this option to pass to the code generator.
>>>        // ParseCommandLineOptions() expects argv[0] to be program name.
>>> Lazily
>>> @@ -805,6 +809,9 @@ static std::unique_ptr<LTO> createLTO()
>>>    if (!options::sample_profile.empty())
>>>      Conf.SampleProfile = options::sample_profile;
>>>
>>> +  // Use new pass manager if set in driver
>>> +  Conf.UseNewPM = options::new_pass_manager;
>>> +
>>>    return llvm::make_unique<LTO>(std::move(Conf), Backend,
>>>                                  options::ParallelCodeGenParal
>>> lelismLevel);
>>>  }
>>>
>>>
>>> _______________________________________________
>>> llvm-commits mailing list
>>> llvm-commits at lists.llvm.org
>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>>>
>>
>>
>>
>> --
>> --
>> Peter
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>>
>>
>
>
> --
> Teresa Johnson |  Software Engineer |  tejohnson at google.com |
>  408-460-2413
>



-- 
Teresa Johnson |  Software Engineer |  tejohnson at google.com |  408-460-2413
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180404/1df4bd43/attachment.html>


More information about the llvm-commits mailing list