|
From: David <sho...@gm...> - 2010-02-16 22:14:36
|
Hello Josef,
It is very nice to talk with the Valgrind Developer here. I am so lucky. :-)
On Tue, Feb 16, 2010 at 12:56 PM, Josef Weidendorfer <
Jos...@gm...> wrote:
> Hi,
>
> On Tuesday 16 February 2010, David wrote:
> > I am confused about the Ir count before the "=>" symbol in the annotated
> > source code. For example, if the annotated source code looks like
> >
> > function F ()
> > {
> > ...
> > #A => subroutine SR (#Bx)
> > ...
> > #C => subroutine SR (#Dx)
> > ...
> > }
> >
> > where #A - #D are four numbers and SR in two lines is the same
> subroutine.
>
> I suppose you talk about the output of "callgrind_annotate --auto=yes" on a
> output of callgrind run with "--collect-jumps=yes" ?
>
Actually I am talking about the output of "callgrind_annotate --auto=yes /
callgrind_annotate --auto=yes --inclusive=yes" on a output of callgrind run
without "--collect-jumps=yes" ("valgrind --tool=callgrind" only).
Thank you for your reminder. I will check with the option
--collect-jumps=yes after this discussion.
>
> > It seems that the numbers in the parenthesis ending with 'X' (#B and #D)
> is
> > the exact subroutine invoking counts but the numbers before the "=>"
> symbol
> > can not be treated as the exact Ir count for the corresponding invoking.
>
> Hmm. It looks like it should be the exact Ir inclusive cost of this
> invocation
> instance. If it is not, it seems to be a bug.
>
My assumptions are: (1) #B and #D should be the exact subroutine invoking
counts for that line and (2) both #A and #C should be the exact Ir inclusive
cost of this invocation instance which could be found out in the output of
"callgrind_annotate --auto=yes --inclusive=yes --threshold=100". The order,
position and times of the invocation does not matter. The number before the
"=>" should be consistent for each invocation instance. Please correct me if
my understanding is wrong.
>
> > Some times the bigger number of #A and #C corresponds to the Inclusive Ir
> > count of the function SR. Sometimes neither of them corresponds to the
> > Inclusive Ir count of the function SR and the sum of them is obvious
> beyond
> > that Inclusive Ir count.
>
> That sounds very wrong.
> Can you file a bug report?
>
Again, both #A and #C should be the exact Ir inclusive cost of this
invocation instance which could be found out in the output of
"callgrind_annotate --auto=yes --inclusive=yes --threshold=100".
>
> It would be good to provide a small test program with the wrong output you
> get.
> Thanks!
>
I will try it when I have a chance. Maybe I should try the --collect-jumps
option first.
>
> Josef
>
> > How should I understand the Ir count before the
> > "=>" symbol? Where can I find more detailed information about the
> annotated
> > source code? Any suggestion is appreciated!
> >
> >
> > Peace,
> > -David
> >
>
Thank you so much for your time and great help. I really appreciate it!
David
|