re PR middle-end/47893 (4.6 miscompiles mesa on i686)
authorJakub Jelinek <jakub@gcc.gnu.org>
Mon, 28 Feb 2011 17:05:07 +0000 (18:05 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Mon, 28 Feb 2011 17:05:07 +0000 (18:05 +0100)
commit80a832cd25fa03a93768f3d2bc05d23a06a87e26
tree516bcbdd71d1bf924c03920302af2c3b2d95b859
parentd154f92719efa355bef3c2a19b62e8c8dd720172
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
gcc/ChangeLog
gcc/caller-save.c
gcc/function.c
gcc/rtl.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr47893.c [new file with mode: 0644]