Am 04.10.2013 21:47, schrieb Sonny Tavernier:
> Hi, 
> 
> I have an unexpected behavior with a basic tool. 
> For each Put statement of a basic block, I register a dirty helper using
> unsafeIRDirty_0_N. 
> The problem is that the dirty helper is called more times than expected, 
> e.g. there are 5 Put statements in a basic block but the dirty helper is
> called 13 times.

You seem to confuse instrumentation vs. execution time.

As you set the counters to zero only at instrumentation time, of course
they will diverge when a BB is executed a second time (as every BB is
instrumented only once).

Further, Valgrind works on super blocks (SBs), not just BBs.
A SB may have multiple side exits. Thus, counters may be
different whenever the execution flow exits an SB early.

Josef


------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60134791&iu=/4140/ostg.clktrk
_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to