On Tuesday 26 February 2008, Julian Seward wrote:
> just need to disable superblock formation.  Put this in the post_clo_init
> function:
> 
>   VG_(clo_vex_control).guest_chase_thresh = 0;
> 
> btw, Josef, I see you also have
> 
>   VG_(clo_vex_control).iropt_unroll_thresh = 0;
> 
> why is that?  does the loop unroller confuse Callgrind's profile somehow?

Good question.
This was part of the big commits porting from VG2 to VG3.

I think this is not because of the call graph, but I also have this mode to
get jump information. And that was confused by unrolling.

I think I know the problem I had: The jump statistics is indexed
by (BBFrom, BBTo), where BBFrom/BBTo are structures with are generated
for each BB. With unrolling, it can be that there are no such structure
available.

In short, for jump collection, it would get more complex, and because there
has to be a callback to increment jump statistics, the benefit of unrolling
is not clear.

But you are right, when not in jump-collection mode, unrolling should be 
allowed.

Josef




-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Valgrind-developers mailing list
Valgrind-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-developers

Reply via email to