[llvm] r324557 - gold-plugin: Do not set codegen opt level based on LTO opt level.

Rafael Avila de Espindola via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 6 09:12:16 PDT 2018


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