re PR middle-end/38151 (structures with _Complex arguments are not passed correctly)
authorRichard Guenther <rguenther@suse.de>
Tue, 25 Nov 2008 10:34:11 +0000 (10:34 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Tue, 25 Nov 2008 10:34:11 +0000 (10:34 +0000)
commitb0ff8d7af505e40e4bbb82f31604b99b59f67231
tree66195ff5e829f7ad937e47fa9dff36f5dc63057b
parentabb370e4618c535561f2b8e942aaeb41114fdfd0
re PR middle-end/38151 (structures with _Complex arguments are not passed correctly)

2008-11-25  Richard Guenther  <rguenther@suse.de>

PR middle-end/38151
PR middle-end/38236
* tree-ssa-alias.c (struct alias_info): Remove written_vars.
Remove dereferenced_ptrs_store and dereferenced_ptrs_load
in favor of dereferenced_ptrs.
(init_alias_info): Adjust.
(delete_alias_info): Likewise.
(compute_flow_insensitive_aliasing): Properly
include all aliased variables.
(update_alias_info_1): Use dereferenced_ptrs.
(setup_pointers_and_addressables): Likewise.
(get_smt_for): Honor ref-all pointers and pointers with known alias
set properly.
* config/i386/i386.c (ix86_gimplify_va_arg): Use ref-all pointers.

* gcc.c-torture/execute/pr38151.c: New testcase.
* gcc.c-torture/execute/pr38236.c: Likewise.

From-SVN: r142189
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/pr38151.c [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/execute/pr38236.c [new file with mode: 0644]
gcc/tree-ssa-alias.c