aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2008-08-08 12:04:51 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2008-08-08 10:04:51 +0000
commita8ba47cb4108fb929ceff43d1feb127d4122825d (patch)
tree0ff041ea1557ad221f15b8a44f72634292572329 /gcc
parent1de853b169e6efe274f30270ef4ca7c9e827f773 (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--gcc/combine.c2
-rw-r--r--gcc/function.c3
-rw-r--r--gcc/recog.c4
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);