From 5a7c3c8768fd323ab46bc4ebaa52ad5be898c22d Mon Sep 17 00:00:00 2001 From: dmalcolm Date: Mon, 25 Aug 2014 20:27:46 +0000 Subject: [PATCH] function.c and shrink-wrap.*: more rtx_insn gcc/ * function.c (thread_prologue_and_epilogue_insns): Likewise for locals "returnjump", "epilogue_end", "insn", "next". * shrink-wrap.h (get_unconverted_simple_return): Strengthen param "returnjump" from rtx * to rtx_insn **. * shrink-wrap.c (get_unconverted_simple_return): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214472 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 9 +++++++++ gcc/function.c | 11 ++++++----- gcc/shrink-wrap.c | 2 +- gcc/shrink-wrap.h | 2 +- 4 files changed, 17 insertions(+), 7 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6480864..8cb0164 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,14 @@ 2014-08-25 David Malcolm + * function.c (thread_prologue_and_epilogue_insns): Likewise for + locals "returnjump", "epilogue_end", "insn", "next". + + * shrink-wrap.h (get_unconverted_simple_return): Strengthen param + "returnjump" from rtx * to rtx_insn **. + * shrink-wrap.c (get_unconverted_simple_return): Likewise. + +2014-08-25 David Malcolm + * basic-block.h (struct edge_def). Strengthen "r" within union edge_def_insns from rtx to rtx_insn *. diff --git a/gcc/function.c b/gcc/function.c index 4e43471..25f1519 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -5613,8 +5613,9 @@ thread_prologue_and_epilogue_insns (void) vec unconverted_simple_returns = vNULL; bitmap_head bb_flags; #endif - rtx returnjump; - rtx seq ATTRIBUTE_UNUSED, epilogue_end ATTRIBUTE_UNUSED; + rtx_insn *returnjump; + rtx seq ATTRIBUTE_UNUSED; + rtx_insn *epilogue_end ATTRIBUTE_UNUSED; rtx prologue_seq ATTRIBUTE_UNUSED, split_prologue_seq ATTRIBUTE_UNUSED; edge e, entry_edge, orig_entry_edge, exit_fallthru_edge; edge_iterator ei; @@ -5625,8 +5626,8 @@ thread_prologue_and_epilogue_insns (void) inserted = false; seq = NULL_RTX; - epilogue_end = NULL_RTX; - returnjump = NULL_RTX; + epilogue_end = NULL; + returnjump = NULL; /* Can't deal with multiple successors of the entry block at the moment. Function should always have at least one entry @@ -5916,7 +5917,7 @@ epilogue_done: #ifdef HAVE_epilogue if (epilogue_end) { - rtx insn, next; + rtx_insn *insn, *next; /* Similarly, move any line notes that appear after the epilogue. There is no need, however, to be quite so anal about the existence diff --git a/gcc/shrink-wrap.c b/gcc/shrink-wrap.c index 0938f2c..2710d98 100644 --- a/gcc/shrink-wrap.c +++ b/gcc/shrink-wrap.c @@ -790,7 +790,7 @@ try_shrink_wrapping (edge *entry_edge, edge orig_entry_edge, edge get_unconverted_simple_return (edge exit_fallthru_edge, bitmap_head bb_flags, vec *unconverted_simple_returns, - rtx *returnjump) + rtx_insn **returnjump) { if (optimize) { diff --git a/gcc/shrink-wrap.h b/gcc/shrink-wrap.h index 5576d36..66bd26d 100644 --- a/gcc/shrink-wrap.h +++ b/gcc/shrink-wrap.h @@ -42,7 +42,7 @@ extern void dup_block_and_redirect (basic_block bb, basic_block copy_bb, 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, - vec *, rtx *); + vec *, rtx_insn **); extern void convert_to_simple_return (edge entry_edge, edge orig_entry_edge, bitmap_head bb_flags, rtx returnjump, vec unconverted_simple_returns); -- 2.7.4