On Jun 12, 2007, at 8:46 AM, Richard Guenther wrote:
On Tue, 12 Jun 2007, Zdenek Dvorak wrote:
Hello,
On Tue, 12 Jun 2007, Diego Novillo wrote:
On 6/11/07 9:58 PM, Robert Kidd wrote:
2007-06-11 Robert Kidd <rkidd@crhc.uiuc.edu>
<cut
This is OK with me. I am not entirely sure whether I can
approve it
though, as it crosses on to RTL. I'm CCing some middle-end
maintainers
just in case.
Thanks for your patience. I know this patch has been
outstanding for a
long time.
As far as the middle-end is concerned the patch is ok. (We can
move
the pass later if it turns out to hinder optimizations in some
case)
I would somewhat prefer to have it after loop optimizer for now
(my reason
being that it may be somewhat difficult to maintain the loops in
tracer,
which conflicts with my project to preserve loops throughout tree
compilation); we may move the pass earlier if it turns out to be
useful
:-)
Ok. Robert, can you do performance tests with the pass moved after
pass_cd_dce?
I will do that. I've attached a modified version of the patch that
places tracer after pass_cd_dce. I will report the results of the
performance test when it finishes.
Thanks
Robert
2007-06-12 Robert Kidd <rkidd@crhc.uiuc.edu>
* bb-reorder.c (rest_of_handler_reorder_blocks): Removed call to
RTL level tracer pass.
* passes.c (init_optimization_passes): Move pass_tracer from
after pass_rtl_ifcvt to after pass_cd_dce.
* tracer.c: Update copyright.
(layout_superblocks): Remove function.
(mark_bb_seen): New.
(bb_seen_p): New.
(count_insns): Change to estimate instructions in a Tree-SSA
statement.
(find_trace): Use bb_seen_p.
(tail_duplicate): Use bb_seen_p. Call add_phi_args_after_copy
after duplicate_block.
(tracer): Change prototype to match that of a pass execute
callback.
(gate_tracer): Rename from gate_handle_tracer.
(rest_of_handle_tracer): Remove function.
* rtl.h: Remove prototype for tracer.
* testsuite/gcc.dg/tree-prof/tracer-1.c: New.
<superblock-1-20070612.patch.txt>