[LLVMdev] Measure execution time of each basic block

Vanderson Martins do Rosario vandersonmr2 at gmail.com
Wed Sep 17 13:35:45 PDT 2014


Jon,
I need to create a database of basics blocks and their execution time. The
only thing I'm concerned is if a block A is more expensive than a block B.
Do you think that even with the overhead I would be able to get the A > B
information?
Like: overhead + time(A) > overhead + time(B) => A > B.
If so, I'm not too much concerned about the accuracy.

Not sure if I was clear,

Thanks again

Vanderson M. Rosario

2014-09-17 17:26 GMT-03:00 Jonathan Roelofs <jonathan at codesourcery.com>:

> I think if you do this, you're quickly going to realize that there's quite
> a lot of overhead in getting the time stamps needed to record basic block
> duration, so you're not going to get accurate results except for really big
> basic blocks.
>
>
> Cheers,
>
> Jon
>
>
> On 9/17/14 1:53 PM, Vanderson Martins do Rosario wrote:
>
>> Guys,
>>
>> Someone have any idea how could I measure the execution time of each LLVM
>> basic
>> block of a program?
>>
>> I tried to use some profiling tools like gcov and perf, but as far as I
>> know
>> they can only give me the frequency that each basic block is executed.
>>
>> I was thinking about writing a pass to add PAPI instructions in each LLVM
>> basic
>> block. Do you think is a good idea?
>>
>> Thanks
>>
>> Vanderson M. Rosario
>>
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>
>>
> --
> Jon Roelofs
> jonathan at codesourcery.com
> CodeSourcery / Mentor Embedded
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140917/5e1218d4/attachment.html>


More information about the llvm-dev mailing list