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]

[PATCH] move superblock formation to Tree-SSA


This patch moves Superblock formation from RTL to the Tree-SSA representation. This patch does not cause a significant change in performance in itself, but it is a first step to performing high level structural optimizations. This patch includes a testcase to verify that Superblocks are formed.

This patch is against mainline. It bootstraps on ia64, x86, and x86_64*, and passes make check on all platforms with and without - ftracer.

OK for mainline?

Thanks
Robert Kidd
rkidd@crhc.uiuc.edu

ChangeLog:

2006-12-22 Robert Kidd <rkidd@crhc.uiuc.edu>

	* bb-reorder.c: Update copyright.
	(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_tracer.
	* testsuite/gcc.dg/tree-prof/tracer-1.c: New.
	* 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_tracer): Use bb_seen_p.
	(copy_block_and_fix_phi): New.
	(tail_duplicate): Use bb_seen_p.  Change to use
	copy_block_and_fix_phi instead of duplicate_block.
	(tracer): Change prototype to match that of a pass gate.
	(gate_tracer): Rename from gate_handle_tracer.
	(rest_of_handle_tracer): Remove function.
	* rtl.h: Remove prototype for tracer.

Attachment: superblock-1.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]