[LLVMdev] RFC - Improvements to PGO profile support
Xinliang David Li
xinliangli at gmail.com
Tue Mar 24 13:08:01 PDT 2015
Example. Assuming the cap is 'C'
void bar()
{
// ENTRY count is 4*C, after capping it becomes 'C'
...
}
void test()
{
// BB1: count(BB1) = C
bar();
// BB2: count(BB2) = C
bar();
}
void test2()
{
// BB3: count(BB3) = C
bar();
// BB4: count(BB4) = C
bar();
}
What would inliner see here ? When it sees callsite1 -- it might mistaken
that is the only dominating callsite to 'bar'.
David
On Tue, Mar 24, 2015 at 12:57 PM, Chandler Carruth <chandlerc at google.com>
wrote:
>
> On Tue, Mar 24, 2015 at 12:53 PM, Xinliang David Li <xinliangli at gmail.com>
> wrote:
>
>> Capping also leads to other kinds of problems -- e.g., sum of incoming
>> edge count (callgraph) does not match the callee entry count etc.
>
>
> Can you explain these problems in more detail? I think that's essential
> for understanding why you think the design should be work in this way.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150324/079c7769/attachment.html>
More information about the llvm-dev
mailing list