Make llvm-profdata show -text work as advertised in the documentation.
authorRichard Smith <richard-llvm@metafoo.co.uk>
Fri, 24 Aug 2018 01:34:45 +0000 (01:34 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Fri, 24 Aug 2018 01:34:45 +0000 (01:34 +0000)
commitc6ba9ca1696416cd53d86fc79ad8fe2771243e8a
tree206f20bcc5574b0504a99ceff39757fa2a9cb29a
parentc5f98d2ab24c466d39434c0e34f6826a77d5a0b7
Make llvm-profdata show -text work as advertised in the documentation.

Per LLVM's CommandGuide, llvm-profdata show -text is supposed to produce
textual output that can be passed as input to further llvm-profdata
invocations. This previously didn't work for two reasons:

1) -text was not sufficient to enable the machine-readable text format output;
instead, -text was effectively ignored if -counts was not also specified. (With
this patch, -counts is instead ignored if -text is specified, because the
machine-readable text format always includes counts.)

2) When the input data was an IR-level profile, the :ir marker was missing from
the output, resulting in a text format output that would not be usable as
profiling data due to function hash mismatches.

Differential Revision: https://reviews.llvm.org/D51188

llvm-svn: 340592
llvm/test/tools/llvm-profdata/roundtrip.test [new file with mode: 0644]
llvm/tools/llvm-profdata/llvm-profdata.cpp