[llvm] 56926ae - [SampleFDO] Rename llvm-profdata flag -partial-profile to -gen-partial-profile.

Wei Mi via llvm-commits llvm-commits at lists.llvm.org
Tue May 12 15:45:22 PDT 2020


I didn't realize llvm-profdata has a command line guide, then there are
several other flags which havn't been added to the commandline guide. I
will add them.

On Tue, May 12, 2020 at 3:11 PM Xinliang David Li <xinliangli at gmail.com>
wrote:

> Command line guide needs to be updated too.
>
> David
>
> On Tue, May 12, 2020 at 3:06 PM Wei Mi via llvm-commits <
> llvm-commits at lists.llvm.org> wrote:
>
>>
>> Author: Wei Mi
>> Date: 2020-05-12T15:06:03-07:00
>> New Revision: 56926ae0faa67ac4c3b75609bfeea2eb324c0851
>>
>> URL:
>> https://github.com/llvm/llvm-project/commit/56926ae0faa67ac4c3b75609bfeea2eb324c0851
>> DIFF:
>> https://github.com/llvm/llvm-project/commit/56926ae0faa67ac4c3b75609bfeea2eb324c0851.diff
>>
>> LOG: [SampleFDO] Rename llvm-profdata flag -partial-profile to
>> -gen-partial-profile.
>>
>> The internal flag -partial-profile in llvm conflicts with the flag with
>> the same name in llvm-profdata. The conflict happens in builds with
>> LLVM_LINK_LLVM_DYLIB enabled. In this case the tools are linked with
>> libLLVM
>> and we end up with two definitions for the same cl::opt.
>>
>> The patch renames llvm-profdata flag -partial-profile to
>> -gen-partial-profile.
>>
>> Added:
>>
>>
>> Modified:
>>     llvm/test/tools/llvm-profdata/show-prof-info.test
>>     llvm/tools/llvm-profdata/llvm-profdata.cpp
>>
>> Removed:
>>
>>
>>
>>
>> ################################################################################
>> diff  --git a/llvm/test/tools/llvm-profdata/show-prof-info.test
>> b/llvm/test/tools/llvm-profdata/show-prof-info.test
>> index ca91051dc1c8..4a748667d1ad 100644
>> --- a/llvm/test/tools/llvm-profdata/show-prof-info.test
>> +++ b/llvm/test/tools/llvm-profdata/show-prof-info.test
>> @@ -1,5 +1,5 @@
>>  REQUIRES: zlib
>> -; RUN: llvm-profdata merge -sample -extbinary -use-md5
>> -compress-all-sections -partial-profile
>> -prof-sym-list=%S/Inputs/profile-symbol-list-1.text
>> %S/Inputs/sample-profile.proftext -o %t.1.output
>> +; RUN: llvm-profdata merge -sample -extbinary -use-md5
>> -compress-all-sections -gen-partial-profile
>> -prof-sym-list=%S/Inputs/profile-symbol-list-1.text
>> %S/Inputs/sample-profile.proftext -o %t.1.output
>>  ; RUN: wc -c < %t.1.output > %t.txt
>>  ; RUN: llvm-profdata show -sample -show-sec-info-only %t.1.output >>
>> %t.txt
>>  ; RUN: FileCheck %s --input-file=%t.txt
>>
>> diff  --git a/llvm/tools/llvm-profdata/llvm-profdata.cpp
>> b/llvm/tools/llvm-profdata/llvm-profdata.cpp
>> index 6d2f636b35e9..3d0e820d2f59 100644
>> --- a/llvm/tools/llvm-profdata/llvm-profdata.cpp
>> +++ b/llvm/tools/llvm-profdata/llvm-profdata.cpp
>> @@ -449,7 +449,7 @@ static void
>> handleExtBinaryWriter(sampleprof::SampleProfileWriter &Writer,
>>                                    MemoryBuffer *Buffer,
>>                                    sampleprof::ProfileSymbolList
>> &WriterList,
>>                                    bool CompressAllSections, bool UseMD5,
>> -                                  bool PartialProfile) {
>> +                                  bool GenPartialProfile) {
>>    populateProfileSymbolList(Buffer, WriterList);
>>    if (WriterList.size() > 0 && OutputFormat != PF_Ext_Binary)
>>      warn("Profile Symbol list is not empty but the output format is not "
>> @@ -469,9 +469,9 @@ static void
>> handleExtBinaryWriter(sampleprof::SampleProfileWriter &Writer,
>>      else
>>        Writer.setUseMD5();
>>    }
>> -  if (PartialProfile) {
>> +  if (GenPartialProfile) {
>>      if (OutputFormat != PF_Ext_Binary)
>> -      warn("-partial-profile is ignored. Specify -extbinary to enable
>> it");
>> +      warn("-gen-partial-profile is ignored. Specify -extbinary to
>> enable it");
>>      else
>>        Writer.setPartialProfile();
>>    }
>> @@ -481,7 +481,7 @@ static void
>>  mergeSampleProfile(const WeightedFileVector &Inputs, SymbolRemapper
>> *Remapper,
>>                     StringRef OutputFilename, ProfileFormat OutputFormat,
>>                     StringRef ProfileSymbolListFile, bool
>> CompressAllSections,
>> -                   bool UseMD5, bool PartialProfile, FailureMode
>> FailMode) {
>> +                   bool UseMD5, bool GenPartialProfile, FailureMode
>> FailMode) {
>>    using namespace sampleprof;
>>    StringMap<FunctionSamples> ProfileMap;
>>    SmallVector<std::unique_ptr<sampleprof::SampleProfileReader>, 5>
>> Readers;
>> @@ -538,7 +538,7 @@ mergeSampleProfile(const WeightedFileVector &Inputs,
>> SymbolRemapper *Remapper,
>>    // Make sure Buffer lives as long as WriterList.
>>    auto Buffer = getInputFileBuf(ProfileSymbolListFile);
>>    handleExtBinaryWriter(*Writer, OutputFormat, Buffer.get(), WriterList,
>> -                        CompressAllSections, UseMD5, PartialProfile);
>> +                        CompressAllSections, UseMD5, GenPartialProfile);
>>    Writer->write(ProfileMap);
>>  }
>>
>> @@ -670,10 +670,9 @@ static int merge_main(int argc, const char *argv[]) {
>>        "use-md5", cl::init(false), cl::Hidden,
>>        cl::desc("Choose to use MD5 to represent string in name table
>> (only "
>>                 "meaningful for -extbinary)"));
>> -  cl::opt<bool> PartialProfile(
>> -      "partial-profile", cl::init(false), cl::Hidden,
>> -      cl::desc("Set the profile to be a partial profile (only meaningful
>> "
>> -               "for -extbinary)"));
>> +  cl::opt<bool> GenPartialProfile(
>> +      "gen-partial-profile", cl::init(false), cl::Hidden,
>> +      cl::desc("Generate a partial profile (only meaningful for
>> -extbinary)"));
>>
>>    cl::ParseCommandLineOptions(argc, argv, "LLVM profile data merger\n");
>>
>> @@ -708,7 +707,7 @@ static int merge_main(int argc, const char *argv[]) {
>>    else
>>      mergeSampleProfile(WeightedInputs, Remapper.get(), OutputFilename,
>>                         OutputFormat, ProfileSymbolListFile,
>> CompressAllSections,
>> -                       UseMD5, PartialProfile, FailureMode);
>> +                       UseMD5, GenPartialProfile, FailureMode);
>>
>>    return 0;
>>  }
>>
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> https://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/20200512/59b036d1/attachment.html>


More information about the llvm-commits mailing list