[LNT] r263560 - [profile] Add perf and cPerf, for importing Linux Perf profiles

Chris Matthews via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 29 14:58:30 PDT 2016


I fixed this with r268118.  Overriding the (bad) default compiler choice did the trick.


> On Apr 7, 2016, at 11:58 PM, Kristof Beyls via llvm-commits <llvm-commits at lists.llvm.org> wrote:
> 
> I'm just guessing, but I think it's strange that the python setup invoked gcc rather than clang on OSX.
> The module seems to be written in c++11, so you'd need a recent version of gcc to compile it, and I'm not sure if that's available on OSX?
> 
>> On 7 Apr 2016, at 21:05, Chris Matthews <chris.matthews at apple.com> wrote:
>> 
>> James, when I do a setup.py install on OSX, I get a compile error:
>> 
>> building 'lnt.testing.profile.cPerf' extension
>> creating build/temp.macosx-10.5-x86_64-2.7
>> creating build/temp.macosx-10.5-x86_64-2.7/lnt
>> creating build/temp.macosx-10.5-x86_64-2.7/lnt/testing
>> creating build/temp.macosx-10.5-x86_64-2.7/lnt/testing/profile
>> gcc -fno-strict-aliasing -I/Users/pwb/anaconda/include -arch x86_64 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/pwb/anaconda/include/python2.7 -c lnt/testing/profile/cPerf.cpp -o build/temp.macosx-10.5-x86_64-2.7/lnt/testing/profile/cPerf.o -std=c++11
>> lnt/testing/profile/cPerf.cpp:133:14: error: no member named 'logic_error' in
>>     namespace 'std'
>> throw std::logic_error(Str);
>>       ~~~~~^
>> lnt/testing/profile/cPerf.cpp:302:13: error: no member named 'back' in
>>     'std::basic_string<char>'
>>     if (S.back() == '\n')
>>         ~ ^
>> lnt/testing/profile/cPerf.cpp:303:11: error: no member named 'pop_back' in
>>     'std::basic_string<char>'
>>       S.pop_back();
>>       ~ ^
>> lnt/testing/profile/cPerf.cpp:550:21: error: no member named 'prev' in namespace 'std'
>> auto MapID = std::prev(CurrentMaps.upper_bound(PC))->second;
>>              ~~~~~^
>> lnt/testing/profile/cPerf.cpp:756:17: error: no type named 'logic_error' in namespace
>>     'std'
>> } catch (std::logic_error &E) {
>>          ~~~~~^
>> lnt/testing/profile/cPerf.cpp:759:17: error: no type named 'runtime_error' in
>>     namespace 'std'
>> } catch (std::runtime_error &E) {
>>          ~~~~~^
>> warning: exception of type int & will be caught by earlier handler
>> note: for type int &
>> 1 warning and 6 errors generated.
>> error: command 'gcc' failed with exit status 1
>> 
>> 
>>> On Mar 16, 2016, at 10:39 AM, Kristof Beyls via llvm-commits <llvm-commits at lists.llvm.org> wrote:
>>> 
>>> 
>>> 
>>> On 15/03/2016 17:52, "llvm-commits on behalf of James Molloy via
>>> llvm-commits" <llvm-commits-bounces at lists.llvm.org on behalf of
>>> llvm-commits at lists.llvm.org> wrote:
>>> 
>>>> +//
>>>> +//   for each mmap:
>>>> +//       if the mmap's event total is < 1% of the total in all counters,
>>>> +//         then discard the mmap.
>>> 
>>> Even though it's explained in the commit message, I think this comment
>>> should explain why some samples are being discarded.
>>> 
>>> 
>>>> 
>>>> +// The output of this module (cPerf.importPerf) is a dictionary in
>>>> (almost)
>>>> +// ProfileV1 form. The only difference is that all counters are absolute.
>>> 
>>> I don't know what ProfileV1 is. Maybe there should be a pointer to what
>>> ProfileV1 is?
>>> 
>>> 
>>> _______________________________________________
>>> 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