This is the mail archive of the gcc@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]

[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


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