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

James Molloy via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 7 15:21:03 PDT 2016


Hi Chris,

Uhh, what? That's strange. I test this primarily on my MacBook, and it compiles fine there and on the arm Linux machines in our cluster. 

What's this about std::string not having back()? Somethings not right there. Logic_error isn't new either. 

I'm a bit confused!

James

> On 7 Apr 2016, at 20: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
> 



More information about the llvm-commits mailing list