diff options
author | H.J. Lu <hongjiu.lu@intel.com> | 2016-01-27 19:54:03 +0000 |
---|---|---|
committer | H.J. Lu <hjl@gcc.gnu.org> | 2016-01-27 11:54:03 -0800 |
commit | 9525851d49b18b8b62c47fd2092dbb3937b887f7 (patch) | |
tree | 6fd3e5cd714d0651efad3b34e6c0d25c3dba030a /gcc | |
parent | ac22318350b43bf7a4d72ed620365652cf222e9e (diff) | |
download | gcc-9525851d49b18b8b62c47fd2092dbb3937b887f7.zip gcc-9525851d49b18b8b62c47fd2092dbb3937b887f7.tar.gz gcc-9525851d49b18b8b62c47fd2092dbb3937b887f7.tar.bz2 |
Don't change stack_alignment_needed for __tls_get_addr
__tls_get_addr must be called with 16-byte aligned stack, which is
guaranted by setting preferred_stack_boundary to 128 bits. There
is no need to change stack_alignment_needed for __tls_get_addr.
PR target/68986
* config/i386/i386.c (ix86_update_stack_boundary): Don't
change stack_alignment_needed for __tls_get_addr call.
From-SVN: r232901
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 6 |
2 files changed, 7 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fecbc49..cc8b21c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2016-01-27 H.J. Lu <hongjiu.lu@intel.com> + + PR target/68986 + * config/i386/i386.c (ix86_update_stack_boundary): Don't + change stack_alignment_needed for __tls_get_addr call. + 2016-01-27 Segher Boessenkool <segher@kernel.crashing.org> * config/rs6000/rs6000.c (print_operand): Rollback 's' removal. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index cfbdf0f..6dc1fa5 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -12035,11 +12035,7 @@ ix86_update_stack_boundary (void) /* __tls_get_addr needs to be called with 16-byte aligned stack. */ if (ix86_tls_descriptor_calls_expanded_in_cfun && crtl->preferred_stack_boundary < 128) - { - crtl->preferred_stack_boundary = 128; - if (crtl->stack_alignment_needed < 128) - crtl->stack_alignment_needed = 128; - } + crtl->preferred_stack_boundary = 128; } /* Handle the TARGET_GET_DRAP_RTX hook. Return NULL if no DRAP is |