diff mbox

[116/236] shrink-wrap.*: Use rtx_insn (touches config/i386/i386.c)

Message ID 1407345815-14551-117-git-send-email-dmalcolm@redhat.com
State New
Headers show

Commit Message

David Malcolm Aug. 6, 2014, 5:21 p.m. UTC
gcc/
	* shrink-wrap.h (requires_stack_frame_p): Strengthen param 1
	"insn" from rtx to rtx_insn *.
	(dup_block_and_redirect): Likewise for param 3 "before".

	* shrink-wrap.c (requires_stack_frame_p): Strengthen param "insn"
	from rtx to rtx_insn *.
	(move_insn_for_shrink_wrap): Likewise.
	(prepare_shrink_wrap): Likewise for locals "insn", "curr".
	(dup_block_and_redirect): Likewise for param "before" and local
	"insn".
	(try_shrink_wrapping): Likewise for locals "insn", "insert_point",
	"end".
	(convert_to_simple_return): Likewise for local "start".

	* config/i386/i386.c (ix86_finalize_stack_realign_flags):
	Strengthen local "insn" from rtx to rtx_insn *, for use when
	invoking requires_stack_frame_p.
---
 gcc/config/i386/i386.c |  2 +-
 gcc/shrink-wrap.c      | 19 ++++++++++---------
 gcc/shrink-wrap.h      |  5 +++--
 3 files changed, 14 insertions(+), 12 deletions(-)
diff mbox

Patch

diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 8827256..ea79519 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -10669,7 +10669,7 @@  ix86_finalize_stack_realign_flags (void)
 			   HARD_FRAME_POINTER_REGNUM);
       FOR_EACH_BB_FN (bb, cfun)
         {
-          rtx insn;
+          rtx_insn *insn;
 	  FOR_BB_INSNS (bb, insn)
 	    if (NONDEBUG_INSN_P (insn)
 		&& requires_stack_frame_p (insn, prologue_used,
diff --git a/gcc/shrink-wrap.c b/gcc/shrink-wrap.c
index 7d9c6e7..785ca21 100644
--- a/gcc/shrink-wrap.c
+++ b/gcc/shrink-wrap.c
@@ -61,7 +61,7 @@  along with GCC; see the file COPYING3.  If not see
    prologue.  SET_UP_BY_PROLOGUE is the set of registers we expect the
    prologue to set up for the function.  */
 bool
-requires_stack_frame_p (rtx insn, HARD_REG_SET prologue_used,
+requires_stack_frame_p (rtx_insn *insn, HARD_REG_SET prologue_used,
 			HARD_REG_SET set_up_by_prologue)
 {
   df_ref *df_rec;
@@ -162,7 +162,7 @@  live_edge_for_reg (basic_block bb, int regno, int end_regno)
    is splitted or not.  */
 
 static bool
-move_insn_for_shrink_wrap (basic_block bb, rtx insn,
+move_insn_for_shrink_wrap (basic_block bb, rtx_insn *insn,
 			   const HARD_REG_SET uses,
 			   const HARD_REG_SET defs,
 			   bool *split_p)
@@ -331,7 +331,8 @@  move_insn_for_shrink_wrap (basic_block bb, rtx insn,
 void
 prepare_shrink_wrap (basic_block entry_block)
 {
-  rtx insn, curr, x;
+  rtx_insn *insn, *curr;
+  rtx x;
   HARD_REG_SET uses, defs;
   df_ref *ref;
   bool split_p = false;
@@ -373,12 +374,12 @@  prepare_shrink_wrap (basic_block entry_block)
 /* Create a copy of BB instructions and insert at BEFORE.  Redirect
    preds of BB to COPY_BB if they don't appear in NEED_PROLOGUE.  */
 void
-dup_block_and_redirect (basic_block bb, basic_block copy_bb, rtx before,
+dup_block_and_redirect (basic_block bb, basic_block copy_bb, rtx_insn *before,
 			bitmap_head *need_prologue)
 {
   edge_iterator ei;
   edge e;
-  rtx insn = BB_END (bb);
+  rtx_insn *insn = BB_END (bb);
 
   /* We know BB has a single successor, so there is no need to copy a
      simple jump at the end of BB.  */
@@ -513,7 +514,7 @@  try_shrink_wrapping (edge *entry_edge, edge orig_entry_edge,
 
       FOR_EACH_BB_FN (bb, cfun)
 	{
-	  rtx insn;
+	  rtx_insn *insn;
 	  unsigned size = 0;
 
 	  FOR_BB_INSNS (bb, insn)
@@ -707,7 +708,7 @@  try_shrink_wrapping (edge *entry_edge, edge orig_entry_edge,
 	    FOR_EACH_BB_REVERSE_FN (bb, cfun)
 	      {
 		basic_block copy_bb, tbb;
-		rtx insert_point;
+		rtx_insn *insert_point;
 		int eflags;
 
 		if (!bitmap_clear_bit (&bb_tail, bb->index))
@@ -724,7 +725,7 @@  try_shrink_wrapping (edge *entry_edge, edge orig_entry_edge,
 		if (e)
 		  {
                     /* Make sure we insert after any barriers.  */
-                    rtx end = get_last_bb_insn (e->src);
+                    rtx_insn *end = get_last_bb_insn (e->src);
                     copy_bb = create_basic_block (NEXT_INSN (end),
                                                   NULL_RTX, e->src);
 		    BB_COPY_PARTITION (copy_bb, e->src);
@@ -902,7 +903,7 @@  convert_to_simple_return (edge entry_edge, edge orig_entry_edge,
 	  else if (*pdest_bb == NULL)
 	    {
 	      basic_block bb;
-	      rtx start;
+	      rtx_insn *start;
 
 	      bb = create_basic_block (NULL, NULL, exit_pred);
 	      BB_COPY_PARTITION (bb, e->src);
diff --git a/gcc/shrink-wrap.h b/gcc/shrink-wrap.h
index bccfb31..5576d36 100644
--- a/gcc/shrink-wrap.h
+++ b/gcc/shrink-wrap.h
@@ -34,10 +34,11 @@  extern basic_block emit_return_for_exit (edge exit_fallthru_edge,
 					 bool simple_p);
 
 /* In shrink-wrap.c.  */
-extern bool requires_stack_frame_p (rtx, HARD_REG_SET, HARD_REG_SET);
+extern bool requires_stack_frame_p (rtx_insn *, HARD_REG_SET, HARD_REG_SET);
 extern void prepare_shrink_wrap (basic_block entry_block);
 extern void dup_block_and_redirect (basic_block bb, basic_block copy_bb,
-				    rtx before,	bitmap_head *need_prologue);
+				    rtx_insn *before,
+				    bitmap_head *need_prologue);
 extern void try_shrink_wrapping (edge *entry_edge, edge orig_entry_edge,
 				 bitmap_head *bb_flags, rtx prologue_seq);
 extern edge get_unconverted_simple_return (edge, bitmap_head,