This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH 160/236] function.c and shrink-wrap.*: more rtx_insn
- From: David Malcolm <dmalcolm at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: David Malcolm <dmalcolm at redhat dot com>
- Date: Wed, 6 Aug 2014 13:22:19 -0400
- Subject: [PATCH 160/236] function.c and shrink-wrap.*: more rtx_insn
- Authentication-results: sourceware.org; auth=none
- References: <1407345815-14551-1-git-send-email-dmalcolm at redhat dot com>
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.
---
gcc/function.c | 11 ++++++-----
gcc/shrink-wrap.c | 2 +-
gcc/shrink-wrap.h | 2 +-
3 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/gcc/function.c b/gcc/function.c
index c5619e9..771ced9 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -5583,8 +5583,9 @@ thread_prologue_and_epilogue_insns (void)
vec<edge> 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;
@@ -5595,8 +5596,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
@@ -5886,7 +5887,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 785ca21..8f77ab3 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<edge> *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<edge> *, rtx *);
+ vec<edge> *, rtx_insn **);
extern void convert_to_simple_return (edge entry_edge, edge orig_entry_edge,
bitmap_head bb_flags, rtx returnjump,
vec<edge> unconverted_simple_returns);
--
1.8.5.3