This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Bug tree-optimization/16705] ICE inverify_flow_insensitive_alias_info
- From: Diego Novillo <dnovillo at redhat dot com>
- To: "gcc-bugzilla at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, Richard Kenner <kenner at vlsi1 dot ultra dot nyu dot edu>
- Date: Wed, 28 Jul 2004 00:36:44 -0400
- Subject: Re: [Bug tree-optimization/16705] ICE inverify_flow_insensitive_alias_info
- Organization: Red Hat Canada
- References: <20040725142601.16705.schnetter@aei.mpg.de> <20040727062006.14158.qmail@sourceware.org>
On Tue, 2004-07-27 at 02:20, pinskia at gcc dot gnu dot org wrote:
> I see this with a fortran to C compiler for SPEC CPU 2000FP code.
> Can you please look into this bug, Diego?
>
This patches fixes this problem. Essentially, we should always consider
.GLOBAL_VAR as potentially aliased. This may have been related to the
Ada bootstrap problems. Kenner, could you check? Thanks.
I'm not quite sure whether this test can be added as-is to the fortran
testsuite. Could anyone confirm if I can just drop it in gfortran.dg?
How should I change the compile flags used?
Bootstrapped and tested x86 and ppc.
Diego.
PR tree-optimization/16705
* tree-ssa-alias.c (create_global_var): Set DECL_EXTERNAL on
.GLOBAL_VAR.
Index: tree-ssa-alias.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree-ssa-alias.c,v
retrieving revision 2.17
diff -d -c -p -r2.17 tree-ssa-alias.c
*** tree-ssa-alias.c 27 Jul 2004 15:32:44 -0000 2.17
--- tree-ssa-alias.c 28 Jul 2004 04:15:26 -0000
*************** create_global_var (void)
*** 2202,2208 ****
size_type_node);
DECL_ARTIFICIAL (global_var) = 1;
TREE_READONLY (global_var) = 0;
! DECL_EXTERNAL (global_var) = 0;
TREE_STATIC (global_var) = 1;
TREE_USED (global_var) = 1;
DECL_CONTEXT (global_var) = NULL_TREE;
--- 2205,2211 ----
size_type_node);
DECL_ARTIFICIAL (global_var) = 1;
TREE_READONLY (global_var) = 0;
! DECL_EXTERNAL (global_var) = 1;
TREE_STATIC (global_var) = 1;
TREE_USED (global_var) = 1;
DECL_CONTEXT (global_var) = NULL_TREE;