public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug rtl-optimization/33721] [meta-bug] Gcc can't properly align stack variable
       [not found] <bug-33721-4@http.gcc.gnu.org/bugzilla/>
@ 2010-10-06 16:34 ` rth at gcc dot gnu.org
  2010-10-09 22:06 ` rth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 9+ messages in thread
From: rth at gcc dot gnu.org @ 2010-10-06 16:34 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33721

Richard Henderson <rth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |ASSIGNED
                 CC|                            |rth at gcc dot gnu.org

--- Comment #6 from Richard Henderson <rth at gcc dot gnu.org> 2010-10-06 16:34:08 UTC ---
Mine.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug rtl-optimization/33721] [meta-bug] Gcc can't properly align stack variable
       [not found] <bug-33721-4@http.gcc.gnu.org/bugzilla/>
  2010-10-06 16:34 ` [Bug rtl-optimization/33721] [meta-bug] Gcc can't properly align stack variable rth at gcc dot gnu.org
@ 2010-10-09 22:06 ` rth at gcc dot gnu.org
  2010-10-09 22:12 ` rth at gcc dot gnu.org
  2010-10-09 22:12 ` rth at gcc dot gnu.org
  3 siblings, 0 replies; 9+ messages in thread
From: rth at gcc dot gnu.org @ 2010-10-09 22:06 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33721

--- Comment #7 from Richard Henderson <rth at gcc dot gnu.org> 2010-10-09 22:05:55 UTC ---
Author: rth
Date: Sat Oct  9 22:05:51 2010
New Revision: 165240

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=165240
Log:
    PR rtl-opt/33721
    * explow.c (allocate_dynamic_stack_space): Add REQUIRED_ALIGN parm,
    remove TARGET parm, convert KNOWN_ALIGN parm to SIZE_ALIGN.  Honor
    required_align, tidy the code a bit.  Emit split_stack code in the
    right place.  Mark the return value with the alignment properly.
    * expr.h (allocate_dynamic_stack_space): Update decl.
    * builtins.c (expand_builtin_apply): Update call to
    allocate_dynamic_stack_space.
    (expand_builtin_alloca): Likewise.  Remove TARGET parameter.
    * calls.c (initialize_argument_information): Update call to
    allocate_dynamic_stack_space.
    (expand_call): Likewise.

    * cfgexpand.c (get_decl_align_unit): Don't limit alignment.
    Don't update_stack_alignment here.
    (alloc_stack_frame_space): Make ALIGN unsigned.
    (stack_var_cmp): Sort by alignment too.
    (partition_stack_vars): Don't merge large and small alignment vars.
    (expand_one_stack_var_at): Add BASE and BASE_ALIGN parameters.
    Take care when BASE is not virtual_stack_vars_rtx.
    (expand_stack_vars): Allocate dynamic stack space for large
    alignment variables.
    (expand_one_stack_var): Update all to expand_one_stack_var_at.
    (defer_stack_allocation): True for large alignment vars.
    (update_stack_alignment): Merge into ...
    (expand_one_var): ... here.
    (gimple_expand_cfg): Place code from expand_stack_vars.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/builtins.c
    trunk/gcc/calls.c
    trunk/gcc/cfgexpand.c
    trunk/gcc/explow.c
    trunk/gcc/expr.h
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/lib/target-supports.exp


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug rtl-optimization/33721] [meta-bug] Gcc can't properly align stack variable
       [not found] <bug-33721-4@http.gcc.gnu.org/bugzilla/>
                   ` (2 preceding siblings ...)
  2010-10-09 22:12 ` rth at gcc dot gnu.org
@ 2010-10-09 22:12 ` rth at gcc dot gnu.org
  3 siblings, 0 replies; 9+ messages in thread
From: rth at gcc dot gnu.org @ 2010-10-09 22:12 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33721

Richard Henderson <rth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |4.6.0


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug rtl-optimization/33721] [meta-bug] Gcc can't properly align stack variable
       [not found] <bug-33721-4@http.gcc.gnu.org/bugzilla/>
  2010-10-06 16:34 ` [Bug rtl-optimization/33721] [meta-bug] Gcc can't properly align stack variable rth at gcc dot gnu.org
  2010-10-09 22:06 ` rth at gcc dot gnu.org
@ 2010-10-09 22:12 ` rth at gcc dot gnu.org
  2010-10-09 22:12 ` rth at gcc dot gnu.org
  3 siblings, 0 replies; 9+ messages in thread
From: rth at gcc dot gnu.org @ 2010-10-09 22:12 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33721

Richard Henderson <rth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED

--- Comment #8 from Richard Henderson <rth at gcc dot gnu.org> 2010-10-09 22:11:22 UTC ---
Stack variables can now be aligned for any target.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug rtl-optimization/33721] [meta-bug] Gcc can't properly align stack variable
  2007-10-10  4:02 [Bug rtl-optimization/33721] New: " hjl at lucon dot org
                   ` (3 preceding siblings ...)
  2008-07-31  5:17 ` hjl dot tools at gmail dot com
@ 2008-07-31  5:22 ` pinskia at gcc dot gnu dot org
  4 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-07-31  5:22 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from pinskia at gcc dot gnu dot org  2008-07-31 05:21 -------
No, this is not fixed fully.  It is only fixed for x86.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |
   Target Milestone|4.4.0                       |---


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33721


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug rtl-optimization/33721] [meta-bug] Gcc can't properly align stack variable
  2007-10-10  4:02 [Bug rtl-optimization/33721] New: " hjl at lucon dot org
                   ` (2 preceding siblings ...)
  2007-12-18  3:09 ` hjl at lucon dot org
@ 2008-07-31  5:17 ` hjl dot tools at gmail dot com
  2008-07-31  5:22 ` pinskia at gcc dot gnu dot org
  4 siblings, 0 replies; 9+ messages in thread
From: hjl dot tools at gmail dot com @ 2008-07-31  5:17 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from hjl dot tools at gmail dot com  2008-07-31 05:16 -------
Fixed by revision 138335.


-- 

hjl dot tools at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|---                         |4.4.0
            Version|4.3.0                       |4.4.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33721


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug rtl-optimization/33721] [meta-bug] Gcc can't properly align stack variable
  2007-10-10  4:02 [Bug rtl-optimization/33721] New: " hjl at lucon dot org
  2007-10-10 13:52 ` [Bug rtl-optimization/33721] [meta-bug] " hjl at lucon dot org
  2007-10-10 13:54 ` hjl at lucon dot org
@ 2007-12-18  3:09 ` hjl at lucon dot org
  2008-07-31  5:17 ` hjl dot tools at gmail dot com
  2008-07-31  5:22 ` pinskia at gcc dot gnu dot org
  4 siblings, 0 replies; 9+ messages in thread
From: hjl at lucon dot org @ 2007-12-18  3:09 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from hjl at lucon dot org  2007-12-18 03:09 -------
A proposal is posted at

http://gcc.gnu.org/ml/gcc/2007-12/msg00503.html


-- 

hjl at lucon dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2007-12-18 03:09:06
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33721


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug rtl-optimization/33721] [meta-bug] Gcc can't properly align stack variable
  2007-10-10  4:02 [Bug rtl-optimization/33721] New: " hjl at lucon dot org
  2007-10-10 13:52 ` [Bug rtl-optimization/33721] [meta-bug] " hjl at lucon dot org
@ 2007-10-10 13:54 ` hjl at lucon dot org
  2007-12-18  3:09 ` hjl at lucon dot org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 9+ messages in thread
From: hjl at lucon dot org @ 2007-10-10 13:54 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from hjl at lucon dot org  2007-10-10 13:54 -------
(In reply to comment #1)
> 
> STACK_BOUNDARY <= PREFERRED_STACK_BOUNDARY <= INCOMING_STACK_BOUNDARY
> 

But for backward compatibility, we can only do it with a command line
option.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33721


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug rtl-optimization/33721] [meta-bug] Gcc can't properly align stack variable
  2007-10-10  4:02 [Bug rtl-optimization/33721] New: " hjl at lucon dot org
@ 2007-10-10 13:52 ` hjl at lucon dot org
  2007-10-10 13:54 ` hjl at lucon dot org
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 9+ messages in thread
From: hjl at lucon dot org @ 2007-10-10 13:52 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from hjl at lucon dot org  2007-10-10 13:52 -------
There are

 -- Macro: STACK_BOUNDARY
     Define this macro to the minimum alignment enforced by hardware
     for the stack pointer on this machine.  The definition is a C
     expression for the desired alignment (measured in bits).  This
     value is used as a default if `PREFERRED_STACK_BOUNDARY' is not
     defined.  On most machines, this should be the same as
     `PARM_BOUNDARY'.

 -- Macro: PREFERRED_STACK_BOUNDARY
     Define this macro if you wish to preserve a certain alignment for
     the stack pointer, greater than what the hardware enforces.  The
     definition is a C expression for the desired alignment (measured
     in bits).  This macro must evaluate to a value equal to or larger
     than `STACK_BOUNDARY'.

For psABI conformance, we need INCOMING_STACK_BOUNDARY, which is specified
by the psABI. For backends with INCOMING_STACK_BOUNDARY support,
PREFERRED_STACK_BOUNDARY is used for outgoing stack alignment only. That
means

STACK_BOUNDARY <= PREFERRED_STACK_BOUNDARY <= INCOMING_STACK_BOUNDARY


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33721


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2010-10-09 22:12 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-33721-4@http.gcc.gnu.org/bugzilla/>
2010-10-06 16:34 ` [Bug rtl-optimization/33721] [meta-bug] Gcc can't properly align stack variable rth at gcc dot gnu.org
2010-10-09 22:06 ` rth at gcc dot gnu.org
2010-10-09 22:12 ` rth at gcc dot gnu.org
2010-10-09 22:12 ` rth at gcc dot gnu.org
2007-10-10  4:02 [Bug rtl-optimization/33721] New: " hjl at lucon dot org
2007-10-10 13:52 ` [Bug rtl-optimization/33721] [meta-bug] " hjl at lucon dot org
2007-10-10 13:54 ` hjl at lucon dot org
2007-12-18  3:09 ` hjl at lucon dot org
2008-07-31  5:17 ` hjl dot tools at gmail dot com
2008-07-31  5:22 ` pinskia at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).