summaryrefslogtreecommitdiff
path: root/gcc/emit-rtl.h
diff options
context:
space:
mode:
authorSegher Boessenkool <segher@kernel.crashing.org>2016-10-12 17:19:46 +0200
committerSegher Boessenkool <segher@gcc.gnu.org>2016-10-12 17:19:46 +0200
commit20a6ece021473dc7f182b751bcbdaa6ad9762375 (patch)
tree2139db30e23ce186bfb8b73a5ad44c4cba876943 /gcc/emit-rtl.h
parent56b31d3e8235beccc7ccf9fb534888a9ab949a0c (diff)
separate shrink-wrap: New command-line flag, status flag, hooks, and doc
This patch adds a new command-line flag "-fshrink-wrap-separate", a status flag "shrink_wrapped_separate", hooks for abstracting the target components, and documentation for all those. * common.opt (-fshrink-wrap-separate): New flag. * doc/invoke.texi: Document it. * doc/tm.texi.in (Shrink-wrapping separate components): New subsection. * doc/tm.texi: Regenerate. * emit-rtl.h (struct rtl_data): New field shrink_wrapped_separate. * target.def (shrink_wrap): New hook vector. (get_separate_components, components_for_bb, disqualify_components, emit_prologue_components, emit_epilogue_components, set_handled_components): New hooks. From-SVN: r241059
Diffstat (limited to 'gcc/emit-rtl.h')
-rw-r--r--gcc/emit-rtl.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/emit-rtl.h b/gcc/emit-rtl.h
index 52c72b1eed2..0a242b1234d 100644
--- a/gcc/emit-rtl.h
+++ b/gcc/emit-rtl.h
@@ -254,6 +254,10 @@ struct GTY(()) rtl_data {
/* True if we performed shrink-wrapping for the current function. */
bool shrink_wrapped;
+ /* True if we performed shrink-wrapping for separate components for
+ the current function. */
+ bool shrink_wrapped_separate;
+
/* Nonzero if function being compiled doesn't modify the stack pointer
(ignoring the prologue and epilogue). This is only valid after
pass_stack_ptr_mod has run. */