diff options
author | Jan Hubicka <jh@suse.cz> | 2008-08-08 12:04:51 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2008-08-08 10:04:51 +0000 |
commit | a8ba47cb4108fb929ceff43d1feb127d4122825d (patch) | |
tree | 0ff041ea1557ad221f15b8a44f72634292572329 /gcc | |
parent | 1de853b169e6efe274f30270ef4ca7c9e827f773 (diff) | |
download | gcc-a8ba47cb4108fb929ceff43d1feb127d4122825d.zip gcc-a8ba47cb4108fb929ceff43d1feb127d4122825d.tar.gz gcc-a8ba47cb4108fb929ceff43d1feb127d4122825d.tar.bz2 |
recog.c (split_all_insns): Set RTL profile
* recog.c (split_all_insns): Set RTL profile
(peephole2_optimize): Likewise.
* function.c (thread_prologue_and_epilogue_insns): Likewise.
* combine.c (combine_instructions): Likewise.
From-SVN: r138863
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/combine.c | 2 | ||||
-rw-r--r-- | gcc/function.c | 3 | ||||
-rw-r--r-- | gcc/recog.c | 4 |
4 files changed, 16 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a0633d8..20836b2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2008-08-07 Jan Hubicka <jh@suse.cz> + + * recog.c (split_all_insns): Set RTL profile + (peephole2_optimize): Likewise. + * function.c (thread_prologue_and_epilogue_insns): Likewise. + * combine.c (combine_instructions): Likewise. + 2008-08-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * c-common.c (c_common_reswords): Also warn about keyword "bool". diff --git a/gcc/combine.c b/gcc/combine.c index 16cd040..a39649d 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -1112,6 +1112,7 @@ combine_instructions (rtx f, unsigned int nregs) last_call_luid = 0; mem_last_set = -1; label_tick++; + rtl_profile_for_bb (this_basic_block); for (insn = BB_HEAD (this_basic_block); insn != NEXT_INSN (BB_END (this_basic_block)); insn = next ? next : NEXT_INSN (insn)) @@ -1268,6 +1269,7 @@ combine_instructions (rtx f, unsigned int nregs) } } + default_rtl_profile (); clear_log_links (); clear_bb_flags (); new_direct_jump_p |= purge_all_dead_edges (); diff --git a/gcc/function.c b/gcc/function.c index b3f5cbf..98b8da0 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -4840,6 +4840,7 @@ thread_prologue_and_epilogue_insns (void) #endif edge_iterator ei; + rtl_profile_for_bb (ENTRY_BLOCK_PTR); #ifdef HAVE_prologue if (HAVE_prologue) { @@ -4886,6 +4887,7 @@ thread_prologue_and_epilogue_insns (void) if (e == NULL) goto epilogue_done; + rtl_profile_for_bb (EXIT_BLOCK_PTR); #ifdef HAVE_return if (optimize && HAVE_return) { @@ -5035,6 +5037,7 @@ thread_prologue_and_epilogue_insns (void) cfg_layout_finalize (); } epilogue_done: + default_rtl_profile (); if (inserted) { diff --git a/gcc/recog.c b/gcc/recog.c index cd47155..44d3b40 100644 --- a/gcc/recog.c +++ b/gcc/recog.c @@ -2672,6 +2672,7 @@ split_all_insns (void) rtx insn, next; bool finish = false; + rtl_profile_for_bb (bb); for (insn = BB_HEAD (bb); !finish ; insn = next) { /* Can't use `next_real_insn' because that might go across @@ -2714,6 +2715,7 @@ split_all_insns (void) } } + default_rtl_profile (); if (changed) find_many_sub_basic_blocks (blocks); @@ -2966,6 +2968,7 @@ peephole2_optimize (void) FOR_EACH_BB_REVERSE (bb) { + rtl_profile_for_bb (bb); /* Indicate that all slots except the last holds invalid data. */ for (i = 0; i < MAX_INSNS_PER_PEEP2; ++i) peep2_insn_data[i].insn = NULL_RTX; @@ -3182,6 +3185,7 @@ peephole2_optimize (void) } } + default_rtl_profile (); for (i = 0; i < MAX_INSNS_PER_PEEP2 + 1; ++i) BITMAP_FREE (peep2_insn_data[i].live_before); BITMAP_FREE (live); |