This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] AutoFDO patch for trunk


Looks like the perf data type is incompatible with quipper (perf data
parser). Can you send me the perf.data file so that I can take a look.

Thanks,
Dehao

On Tue, Oct 21, 2014 at 2:25 PM, Markus Trippelsdorf
<markus@trippelsdorf.de> wrote:
> On 2014.10.21 at 13:53 -0700, Dehao Chen wrote:
>> Everything will be the same on non-intel CPUs except for the perf command:
>>
>> perf record -e instructions -- your program.
>>
>> i.e. you need to drop "-b" and use instructions as event.
>>
>> Note that the current algorithm is tuned for accurate instruction
>> level profile, which is not available on non-Intel CPU. But you are
>> more than welcome to tune the propagation algorithm to get most out of
>> inaccurate instruction profile.
>
> Thanks.
> But unfortunately it doesn't work:
>
> markus@x4 autofdo % g++ -O2 -g /home/markus/bench.cpp
> markus@x4 autofdo % perf record -e instructions  ./a.out
> ...
> markus@x4 autofdo % ./create_gcov --binary=a.out --profile=perf.data --gcov=profile.afdo
> E1021 23:23:30.733412 13689 perf_reader.cc:918] Unsupported event type 10
> F1021 23:23:30.733707 13689 perf_parser.cc:114] Check failed: ReadPerfSampleInfo(**parsed_events_[i].raw_event, &sample_info)
> *** Check failure stack trace: ***
>     @           0x44469d  google::LogMessage::Flush()
>     @           0x4470b9  google::LogMessageFatal::~LogMessageFatal()
>     @           0x43c668  quipper::PerfParser::SortParsedEvents()
>     @           0x43f0cb  quipper::PerfParser::ParseRawEvents()
>     @           0x4221ef  autofdo::PerfDataSampleReader::Append()
>     @           0x421af3  autofdo::SampleReader::ReadAndSetMaxCount()
>     @           0x417e61  autofdo::ProfileCreator::ReadSample()
>     @           0x418db2  autofdo::ProfileCreator::CreateProfile()
>     @           0x4086a5  main
>     @     0x7fa849ce8fd0  __libc_start_main
>     @           0x4099cb  (unknown)
>     @              (nil)  (unknown)
> [1]    13689 abort      ./create_gcov --binary=a.out --profile=perf.data --gcov=profile.afdo
>
> --
> Markus


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]