This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix issue with RTL alias-export and promoted subregs
- From: Uros Bizjak <ubizjak at gmail dot com>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Cc: Richard Guenther <rguenther at suse dot de>, Pat Haugen <pthaugen at us dot ibm dot com>
- Date: Mon, 28 Sep 2009 00:35:36 +0200
- Subject: Re: [PATCH] Fix issue with RTL alias-export and promoted subregs
Hello!
It happens that with promoted subregs we have to deal with
MEMs like [9 p_initial+-4 S8 A64] which access 8 bytes starting
4 bytes before a decl with 4 bytes in size. Not very nice.
Fixed like the following. Bootstrapped and tested on
x86_64-unknown-linux-gnu and ppc64 (by Pat).
Applied to trunk.
Richard.
2009-09-23 Richard Guenther<rguenther@suse.de>
* alias.c (ao_ref_from_mem): Correct for negative MEM_OFFSET
produced for bigendian targets with promoted subregs.
This patch breaks a couple of testcases on alpha-linux-gnu [1]:
FAIL: gcc.c-torture/execute/20030408-1.c compilation, -O3 -fomit-frame-pointer (internal compiler error)
UNRESOLVED: gcc.c-torture/execute/20030408-1.c execution, -O3 -fomit-frame-pointer
FAIL: gcc.c-torture/execute/20030408-1.c compilation, -O3 -g (internal compiler error)
UNRESOLVED: gcc.c-torture/execute/20030408-1.c execution, -O3 -g
FAIL: gcc.c-torture/execute/pr27285.c compilation, -O1 (internal compiler error)
UNRESOLVED: gcc.c-torture/execute/pr27285.c execution, -O1
FAIL: gcc.c-torture/execute/pr27285.c compilation, -O2 (internal compiler error)
UNRESOLVED: gcc.c-torture/execute/pr27285.c execution, -O2
FAIL: gcc.c-torture/execute/pr27285.c compilation, -Os (internal compiler error)
UNRESOLVED: gcc.c-torture/execute/pr27285.c execution, -Os
This failure can be reproduced by a cross (from x86_64-pc-linux-gnu):
~/gcc-build-alpha/gcc/cc1 -O2 -quiet pr27285.c
pr27285.c: In function âmainâ:
pr27285.c:46:1: internal compiler error: in ao_ref_from_mem, at alias.c:321
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
[1] http://gcc.gnu.org/ml/gcc-testresults/2009-09/msg02383.html
Uros.