aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/lib
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2010-10-09 15:05:51 -0700
committerRichard Henderson <rth@gcc.gnu.org>2010-10-09 15:05:51 -0700
commit3a42502df4cb1fd3b8090658920bfe2635b39613 (patch)
treea90073debda145f6a7cc32fb368f7c0370185f15 /gcc/testsuite/lib
parenta5f4f531fe6b58b550d0fda12a90bc94b7986402 (diff)
downloadgcc-3a42502df4cb1fd3b8090658920bfe2635b39613.zip
gcc-3a42502df4cb1fd3b8090658920bfe2635b39613.tar.gz
gcc-3a42502df4cb1fd3b8090658920bfe2635b39613.tar.bz2
re PR rtl-optimization/33721 ([meta-bug] Gcc can't properly align stack variable)
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. From-SVN: r165240
Diffstat (limited to 'gcc/testsuite/lib')
-rw-r--r--gcc/testsuite/lib/target-supports.exp8
1 files changed, 2 insertions, 6 deletions
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index fe87ec9..0ae003a 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -3551,12 +3551,8 @@ proc check_effective_target_4byte_wchar_t { } {
# Return 1 if the target supports automatic stack alignment.
proc check_effective_target_automatic_stack_alignment { } {
- if { [istarget i?86*-*-*]
- || [istarget x86_64-*-*] } then {
- return 1
- } else {
- return 0
- }
+ # Not "stack alignment" per se, but proper stack alignment of decls.
+ return 1;
}
# Return 1 if avx instructions can be compiled.