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