aboutsummaryrefslogtreecommitdiff
path: root/gcc/recog.c
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/recog.c
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/recog.c')
-rw-r--r--gcc/recog.c4
1 files changed, 4 insertions, 0 deletions
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);