aboutsummaryrefslogtreecommitdiff
path: root/gcc/rtl.h
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@gcc.gnu.org>2011-02-28 18:05:07 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2011-02-28 18:05:07 +0100
commit80a832cd25fa03a93768f3d2bc05d23a06a87e26 (patch)
tree516bcbdd71d1bf924c03920302af2c3b2d95b859 /gcc/rtl.h
parentd154f92719efa355bef3c2a19b62e8c8dd720172 (diff)
downloadgcc-80a832cd25fa03a93768f3d2bc05d23a06a87e26.zip
gcc-80a832cd25fa03a93768f3d2bc05d23a06a87e26.tar.gz
gcc-80a832cd25fa03a93768f3d2bc05d23a06a87e26.tar.bz2
re PR middle-end/47893 (4.6 miscompiles mesa on i686)
PR middle-end/47893 * rtl.h (ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Define. (assign_stack_local_1): Change last argument type to int. * function.c (assign_stack_local_1): Replace reduce_alignment_ok argument with kind. If bit ASLK_RECORD_PAD is not set in it, don't record padding space into frame_space_list nor use those areas. (assign_stack_local): Adjust caller. (assign_stack_temp_for_type): Call assign_stack_local_1 instead of assign_stack_local, pass 0 as last argument. * caller-save.c (setup_save_areas): Adjust assign_stack_local_1 callers. * gcc.dg/pr47893.c: New test. From-SVN: r170568
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r--gcc/rtl.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/rtl.h b/gcc/rtl.h
index e5c6e38..0552156 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -1,6 +1,6 @@
/* Register Transfer Language (RTL) definitions for GCC
Copyright (C) 1987, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+ 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
This file is part of GCC.
@@ -1685,7 +1685,9 @@ extern rtx simplify_subtraction (rtx);
/* In function.c */
extern rtx assign_stack_local (enum machine_mode, HOST_WIDE_INT, int);
-extern rtx assign_stack_local_1 (enum machine_mode, HOST_WIDE_INT, int, bool);
+#define ASLK_REDUCE_ALIGN 1
+#define ASLK_RECORD_PAD 2
+extern rtx assign_stack_local_1 (enum machine_mode, HOST_WIDE_INT, int, int);
extern rtx assign_stack_temp (enum machine_mode, HOST_WIDE_INT, int);
extern rtx assign_stack_temp_for_type (enum machine_mode,
HOST_WIDE_INT, int, tree);