[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 15:23:05 PDT 2016


and r268123 to fix it on my other machine!

> On Apr 29, 2016, at 2:58 PM, Chris Matthews <chris.matthews at apple.com> wrote:
> 
> 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