[llvm-dev] Question about : lprofValueProfNodes

Vedant Kumar via llvm-dev llvm-dev at lists.llvm.org
Tue Dec 19 11:31:27 PST 2017


Hi,


> On Dec 19, 2017, at 10:26 AM, Moshtaghi, Alireza via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> 
> Hi
> This array is defined in compiler-rt: InstrProfilingValue.c but I can’t find where it is used?

It's used in allocateOneNode(). Incrementing the current vnode pointer gives a fresh node (possibly backed by the shared pool).


> And the comment on it does not say much about why we need it either.

It's used to avoid calling malloc(), which David (CC'd) found to be a performance improvement.

best,
vedant

> Can someone explain why we need this and where it is used?
>  
> /* A shared static pool in addition to the vnodes statically
> * allocated by the compiler.  */
> COMPILER_RT_VISIBILITY ValueProfNode
>     lprofValueProfNodes[INSTR_PROF_VNODE_POOL_SIZE] COMPILER_RT_SECTION(COMPILER_RT_SEG INSTR_PROF_VNODES_SECT_NAME_STR);
>  
> Thanks
> A
>  
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev <http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20171219/1a6801b9/attachment.html>


More information about the llvm-dev mailing list