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

James Molloy via llvm-commits llvm-commits at lists.llvm.org
Thu May 5 03:51:44 PDT 2016


Thanks Chris! 
> On 29 Apr 2016, at 23:23, Chris Matthews via llvm-commits <llvm-commits at lists.llvm.org> wrote:
> 
> 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
>> 
> 
> _______________________________________________
> 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