aboutsummaryrefslogtreecommitdiff
path: root/gcc/final.c
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2018-11-09 16:05:40 +0100
committerMartin Liska <marxin@gcc.gnu.org>2018-11-09 15:05:40 +0000
commit47b840eb39c3f0b3ddb01e81a359b9926b13cf44 (patch)
tree1153d06dcb763580bae79107afac2c1b0317586c /gcc/final.c
parent2e14744fcd7820033b91c9516e22eb42b02b5290 (diff)
downloadgcc-47b840eb39c3f0b3ddb01e81a359b9926b13cf44.zip
gcc-47b840eb39c3f0b3ddb01e81a359b9926b13cf44.tar.gz
gcc-47b840eb39c3f0b3ddb01e81a359b9926b13cf44.tar.bz2
Come up with the flag -fipa-stack-alignment.
2018-11-09 Martin Liska <mliska@suse.cz> * common.opt: Add -fipa-stack-alignment flag. * doc/invoke.texi: Document it. * final.c (rest_of_clean_state): Guard stack shrinking with flag. 2018-11-09 Martin Liska <mliska@suse.cz> * gcc.target/i386/ipa-stack-alignment.c: New test. From-SVN: r265970
Diffstat (limited to 'gcc/final.c')
-rw-r--r--gcc/final.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/final.c b/gcc/final.c
index 6e61f1e..0c1ac62 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -4890,7 +4890,8 @@ rest_of_clean_state (void)
/* We can reduce stack alignment on call site only when we are sure that
the function body just produced will be actually used in the final
executable. */
- if (decl_binds_to_current_def_p (current_function_decl))
+ if (flag_ipa_stack_alignment
+ && decl_binds_to_current_def_p (current_function_decl))
{
unsigned int pref = crtl->preferred_stack_boundary;
if (crtl->stack_alignment_needed > crtl->preferred_stack_boundary)