This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, middle-end]: move superblock formation to Tree-SSA


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>

* 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_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.

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.

Attachment: superblock-1-20070612.patch.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]