]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
recog.c (split_all_insns): Set RTL profile
authorJan Hubicka <jh@suse.cz>
Fri, 8 Aug 2008 10:04:51 +0000 (12:04 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Fri, 8 Aug 2008 10:04:51 +0000 (10:04 +0000)
* 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

gcc/ChangeLog
gcc/combine.c
gcc/function.c
gcc/recog.c

index a0633d8d9fd07470fdc6d79f450ffdb0a26fbe53..20836b2f118c7a64ad055fcdfc25865e1fd7161c 100644 (file)
@@ -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".
index 16cd040afd52f03457086237bb02f19a6b7ec4fc..a39649d7c8eb1bfcef454f1319f39e23f1525c40 100644 (file)
@@ -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 ();
index b3f5cbffa45cc8db3f149cdbd33ce0712d13f53b..98b8da0736567ccc6e275728854ee76a1da5ad1d 100644 (file)
@@ -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)
     {
index cd47155ad4eaf016bd00532a521c234def2a3948..44d3b40b643b8c3efddfd8ec492e5d8365d85e54 100644 (file)
@@ -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);