[llvm] r324557 - gold-plugin: Do not set codegen opt level based on LTO opt level.
Chad Rosier via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 6 09:18:49 PDT 2018
Thanks, Rafael. Sound reasonable to you, Peter?
On 4/6/2018 12:12 PM, Rafael Avila de Espindola wrote:
> I am OK with reverting it until we have a better framework in place.
>
> Cheers,
> Rafael
>
> Chad Rosier via llvm-commits <llvm-commits at lists.llvm.org> writes:
>
>> Peter/Rafael,
>>
>> Over the past few days I've been investigating several regressions with
>> our weekly LTO configuration. As a result, I identified that the
>> following regressions were due to this commit:
>>
>> SPEC2006/h264ref: -2.68%
>> SPEC2006/libquantum: -4.36%
>> SPEC2006/perlbench: -2.67%
>> SPEC2017/mcf: -4.47%
>> SPEC2017/perlbench: -3.82%
>>
>> I did not test SPEC2000, SPEC2006fp, or SPEC2017fp, but I'm seeing
>> similar small regressions in our weekly runs there as well (i.e., the
>> above is just what I was able to test last night, but isn't likely the
>> only regressions). I'd like to kindly request that this change be
>> reverted until something is in place to properly propagate the codegen
>> optimization level.
>>
>> Chad
>>
>>
>> On 2/7/2018 9:41 PM, Peter Collingbourne via llvm-commits wrote:
>>> Author: pcc
>>> Date: Wed Feb 7 18:41:22 2018
>>> New Revision: 324557
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=324557&view=rev
>>> Log:
>>> gold-plugin: Do not set codegen opt level based on LTO opt level.
>>>
>>> The LTO opt level should not affect the codegen opt level, and indeed
>>> it does not affect it in lld. Ideally the codegen opt level should
>>> be controlled by an IR-level attribute based on the compile-time opt
>>> level, but that hasn't been implemented yet.
>>>
>>> Differential Revision: https://reviews.llvm.org/D43040
>>>
>>> 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/gold-plugin.cpp?rev=324557&r1=324556&r2=324557&view=diff
>>> ==============================================================================
>>> --- llvm/trunk/tools/gold/gold-plugin.cpp (original)
>>> +++ llvm/trunk/tools/gold/gold-plugin.cpp Wed Feb 7 18:41:22 2018
>>> @@ -727,20 +727,6 @@ static int getOutputFileName(StringRef I
>>> return FD;
>>> }
>>>
>>> -static CodeGenOpt::Level getCGOptLevel() {
>>> - switch (options::OptLevel) {
>>> - case 0:
>>> - return CodeGenOpt::None;
>>> - case 1:
>>> - return CodeGenOpt::Less;
>>> - case 2:
>>> - return CodeGenOpt::Default;
>>> - case 3:
>>> - return CodeGenOpt::Aggressive;
>>> - }
>>> - llvm_unreachable("Invalid optimization level");
>>> -}
>>> -
>>> /// Parse the thinlto_prefix_replace option into the \p OldPrefix and
>>> /// \p NewPrefix strings, if it was specified.
>>> static void getThinLTOOldAndNewPrefix(std::string &OldPrefix,
>>> @@ -767,7 +753,6 @@ static std::unique_ptr<LTO> createLTO(In
>>>
>>> Conf.MAttrs = MAttrs;
>>> Conf.RelocModel = RelocationModel;
>>> - Conf.CGOptLevel = getCGOptLevel();
>>> Conf.DisableVerify = options::DisableVerify;
>>> Conf.OptLevel = options::OptLevel;
>>> if (options::Parallelism)
>>>
>>>
>>> _______________________________________________
>>> llvm-commits mailing list
>>> llvm-commits at lists.llvm.org
>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list