aboutsummaryrefslogtreecommitdiff
path: root/gcc/emit-rtl.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2017-02-02 12:39:09 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2017-02-02 12:39:09 +0000
commitda75ca93f8f17847f75ff50d00796e98ccf8509d (patch)
tree3bf382d8d50f62d0ff60f17c00752dbff7a4af7a /gcc/emit-rtl.c
parentaa2cbb1a6cf59b6bd3215ed2a53cf88ffcda3bc7 (diff)
downloadgcc-da75ca93f8f17847f75ff50d00796e98ccf8509d.zip
gcc-da75ca93f8f17847f75ff50d00796e98ccf8509d.tar.gz
gcc-da75ca93f8f17847f75ff50d00796e98ccf8509d.tar.bz2
re PR middle-end/78468 (libgomp.c/reduction-10.c and many more FAIL)
PR middle-end/78468 * emit-rtl.c (init_emit): Add ??? comment for problematic alignment settings of the virtual registers. Revert again 2016-08-23 Dominik Vogt <vogt@linux.vnet.ibm.com> * explow.c (get_dynamic_stack_size): Take known alignment of stack pointer + STACK_DYNAMIC_OFFSET into account when calculating the size needed. From-SVN: r245124
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r--gcc/emit-rtl.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index 0b9552b..0d25d4e 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -5725,10 +5725,13 @@ init_emit (void)
REGNO_POINTER_ALIGN (HARD_FRAME_POINTER_REGNUM) = STACK_BOUNDARY;
REGNO_POINTER_ALIGN (ARG_POINTER_REGNUM) = STACK_BOUNDARY;
+ /* ??? These are problematic (for example, 3 out of 4 are wrong on
+ 32-bit SPARC and cannot be all fixed because of the ABI). */
REGNO_POINTER_ALIGN (VIRTUAL_INCOMING_ARGS_REGNUM) = STACK_BOUNDARY;
REGNO_POINTER_ALIGN (VIRTUAL_STACK_VARS_REGNUM) = STACK_BOUNDARY;
REGNO_POINTER_ALIGN (VIRTUAL_STACK_DYNAMIC_REGNUM) = STACK_BOUNDARY;
REGNO_POINTER_ALIGN (VIRTUAL_OUTGOING_ARGS_REGNUM) = STACK_BOUNDARY;
+
REGNO_POINTER_ALIGN (VIRTUAL_CFA_REGNUM) = BITS_PER_WORD;
#endif