This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug optimization/13266] [tree-ssa] ICE in add_may_alias in tree-dfa.c for C++ source code
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 2 Dec 2003 16:44:41 -0000
- Subject: [Bug optimization/13266] [tree-ssa] ICE in add_may_alias in tree-dfa.c for C++ source code
- References: <20031201232647.13266.schnetter@aei.mpg.de>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From pinskia at gcc dot gnu dot org 2003-12-02 16:44 -------
There was a change in the aliasing code on 11-30-2003 which might have fixed it though (since
that snapshot is no longer up I cannot find out if this was in it):
2003-11-30 Daniel Berlin <dberlin@dberlin.org>
* c-config-lang.in: Move tree-alias-* from here
* Makefile.in (GTFILES): To here.
* tree-alias-ander.c: Include bitmap.h
(andersen_function_call): Updated to take address of variables
in an ADDR_EXPR in a CALL_EXPR.
* tree-alias-common.h (struct tree_alias_ops): Update arguments to
function_call.
* tree-alias-type.h (struct alias_typevar_common): Add varnum.
* tree-alias-common.c: Include bitmap.h, and function.h.
s/global_var/pta_global_var/g.
(addrargs): New static variable.
(pta_global_var): Ditto.
(find_func_decls): Remove.
(find_func_aliases): Take one argument, update all callers.
Handle (cast) [addr-expr] [var].
Handle COMPONENT_REF of an INDIRECT_REF.
Pass info about ADDR_EXPR arguments to function_call function.
(deal_with_call_aliasing): New function.
(call_may_return): New function.
(get_alias_var_decl): Call find_func_aliases on the DECL_INITIAL
of a global var.
Use ALIAS_TVAR_VARNUM, instead of VARRAY_ACTIVE_SIZE (alias_vars) - 1.
(get_alias_var): Handle REALPART_EXPR and IMAGPART_EXPR.
Return NULL in default case.
(intra_function_call): Remove wrong code.
(create_fun_alias_var): Use simple_assign, not addr_assign.
Set up ALIAS_TVAR_VARNUM when creating an alias var.
(create_fun_alis_var_ptf): Ditto on ALIAS_TVAR_VARNUM.
(create_alias_var): Ditto.
(create_alias_vars): Build pta_global_var here.
Walk unexpanded_var_list.
Walk the statements in basic blocks.
(delete_alias_vars): Correct ip_partial case.
Free addrargs.
(init_alias_vars): Create addrargs.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13266