diff options
author | Segher Boessenkool <segher@gcc.gnu.org> | 2016-05-20 00:17:53 +0200 |
---|---|---|
committer | Segher Boessenkool <segher@gcc.gnu.org> | 2016-05-20 00:17:53 +0200 |
commit | 33fec8d5b3c94cc8f73838abd27a4f0cfa2b3fd6 (patch) | |
tree | 925e8358e6a8300855c5228c2a225afc376e6b67 /gcc/shrink-wrap.h | |
parent | 6befaff6662e3a750c8de2239ded13032994baf4 (diff) | |
download | gcc-33fec8d5b3c94cc8f73838abd27a4f0cfa2b3fd6.zip gcc-33fec8d5b3c94cc8f73838abd27a4f0cfa2b3fd6.tar.gz gcc-33fec8d5b3c94cc8f73838abd27a4f0cfa2b3fd6.tar.bz2 |
function: Restructure *logue insertion
This patch restructures how the prologues/epilogues are inserted. Sibcalls
that run without prologue are now handled in shrink-wrap.c; it communicates
what is already handled by setting the EDGE_IGNORE flag. The
try_shrink_wrapping function then doesn't need to be passed the bb_flags
anymore.
* function.c (make_epilogue_seq): Remove epilogue_end parameter.
(thread_prologue_and_epilogue_insns): Remove bb_flags. Restructure
code. Ignore sibcalls on EDGE_IGNORE edges.
* shrink-wrap.c (handle_simple_exit): New function. Set EDGE_IGNORE
on edges for sibcalls that run without prologue. The rest of the
function is combined from...
(fix_fake_fallthrough_edge): ... this, and ...
(try_shrink_wrapping): ... a part of this. Remove the bb_with
function argument, make it a local variable.
From-SVN: r236491
Diffstat (limited to 'gcc/shrink-wrap.h')
-rw-r--r-- | gcc/shrink-wrap.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/shrink-wrap.h b/gcc/shrink-wrap.h index 4d821d7..e06ab37 100644 --- a/gcc/shrink-wrap.h +++ b/gcc/shrink-wrap.h @@ -24,8 +24,7 @@ along with GCC; see the file COPYING3. If not see /* In shrink-wrap.c. */ extern bool requires_stack_frame_p (rtx_insn *, HARD_REG_SET, HARD_REG_SET); -extern void try_shrink_wrapping (edge *entry_edge, bitmap_head *bb_flags, - rtx_insn *prologue_seq); +extern void try_shrink_wrapping (edge *entry_edge, rtx_insn *prologue_seq); #define SHRINK_WRAPPING_ENABLED \ (flag_shrink_wrap && targetm.have_simple_return ()) |