This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
[ia64-improvements] Moved Superblock formation to Tree-SSA
- From: Robert Kidd <rkidd at crhc dot uiuc dot edu>
- To: gcc at gcc dot gnu dot org
- Date: Fri, 17 Feb 2006 11:46:30 -0600
- Subject: [ia64-improvements] Moved Superblock formation to Tree-SSA
I checked a patch into the ia64-improvements branch to move
Superblock formation to the Tree-SSA level. This patch also brings
an update to the trace formation pass. When building a trace inside
a loop, we now follow the backedge once to add the loop header to the
trace. This allows tail duplication to form a superblock loop that
can be processed by the loop unroller later on.
2006-02-17 Robert Kidd <rkidd@crhc.uiuc.edu>
* tracer.c (mark_bb_seen): New function.
(bb_seen_p): New function.
(count_insns): Use estimate_num_insns instead of counting RTL
instructions.
(find_trace): Tracing a loop now traverses the back edge once
to duplicate the loop header.
(tail_duplicate): Phi nodes are fixed after duplicating
blocks.
(layout_superblocks): Remove function.
(execute_tracer): CFG layout stuff is not needed at the tree
level.
(rest_of_handle_tracer): Remove function.
* bb-reorder.c (rest_of_handle_reorder_blocks): Removed call
to RTL level tracer.
* passes.c (init_optimization_passes): Moved pass_tracer from
after pass_rtl_ifcvt to after pass_build_ssa.
Robert Kidd
rkidd@crhc.uiuc.edu