* recog.c (split_all_insns): Set RTL profile
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 8 Aug 2008 10:04:51 +0000 (10:04 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 8 Aug 2008 10:04:51 +0000 (10:04 +0000)
(peephole2_optimize): Likewise.
* function.c (thread_prologue_and_epilogue_insns): Likewise.
* combine.c (combine_instructions): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138863 138bc75d-0d04-0410-961f-82ee72b054a4

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

index a0633d8..20836b2 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 16cd040..a39649d 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 b3f5cbf..98b8da0 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 cd47155..44d3b40 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);