<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Op vr 9 aug. 2019 om 12:06 schreef Felix Berlakovich <<a href="mailto:felix@berlakovich.at">felix@berlakovich.at</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">





<div lang="DE-AT">
<div class="gmail-m_-4151957680776602061WordSection1">
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Hi Kristof!<u></u><u></u></span></p>
<p class="MsoNormal"><u></u> <u></u></p>
<div style="border-top:none;border-right:none;border-bottom:none;border-left:1.5pt solid blue;padding:0cm 0cm 0cm 4pt">
<div>
<div>
<p class="MsoNormal"><span lang="EN-US">Are you getting "0" for all instructions, or only for some where you didn't expect it?<u></u><u></u></span></p>
</div>
</div>
</div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Basically for all instructions which had a legit value before. If I only look at a single function at a time (e.g. on the left side), I can choose
 “Absolute numbers” and see the correct numbers. But as soon as I do it with two functions, I only see the numbers for one of the functions (the right one).<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<div>
<p class="MsoNormal">Are you sure the function you show in the screenshot actually still gets called in the transformed program?<u></u><u></u></p>
</div>
<p class="MsoNormal"><span style="color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Yes, I think they should be called. In the screenshot I used the same program with –O0 vs –O2.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">The functions I am usually comparing are only called in the left or the right program respectively. The modified program contains a slightly modified
 clone of the original function and calls the modified clone instead of the original one. The modified clone simply contains a few extra instructions. That is, the function on the left is *not* called in the right program and vice versa. I would rather like
 to compare the slightly modified clone with the original function. What puzzles me is that displaying relative numbers works, whereas absolute numbers do not.</span></p></div></div></blockquote><div><br></div><div>Hmmm - that seems strange indeed. I'm afraid all I can say is that I haven't seen this behaviour before. I'm afraid you may have to start debugging the javascript driving this webpage to drill down to the root cause of this issue...</div><div>FWIW, the source code of the (probably) relevant javascript lives at <a href="https://github.com/llvm/llvm-lnt/blob/master/lnt/server/ui/static/lnt_profile.js">https://github.com/llvm/llvm-lnt/blob/master/lnt/server/ui/static/lnt_profile.js</a>. All of the code until line 638 seems to be about producing the CFG view. Given you have the issue also without the CFG view, you can probably ignore that part. I'm afraid that even ignoring that part, it is still quite a bit of code...</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="DE-AT"><div class="gmail-m_-4151957680776602061WordSection1"><p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<div>
<p class="MsoNormal">FWIW and orthogonally - I'd recommend using the View: "Control-Flow Graph (X86-64)". That way, you'll get counters aggregated per basic block, which removes a bit some of the confusion that can result when perf associates events with an
 instruction a number of instructions removed from the instruction causing the event you were measuring.<u></u><u></u></p>
</div>
<p class="MsoNormal"><span style="color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Thanks for the info! I already played a bit with the Control-Flow Graph view, but had the same issue as described above.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Felix<u></u><u></u></span></p>
</div>
</div>

</blockquote></div></div>