This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RFA] Transparent alias suport part 10: Fix base+offset alias analysis oracle WRT aliases
- From: Uros Bizjak <ubizjak at gmail dot com>
- To: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Cc: Jan Hubicka <hubicka at ucw dot cz>, Richard Biener <rguenther at suse dot de>
- Date: Mon, 21 Dec 2015 16:00:10 +0100
- Subject: Re: [RFA] Transparent alias suport part 10: Fix base+offset alias analysis oracle WRT aliases
- Authentication-results: sourceware.org; auth=none
Hello!
> Re-testing shows ICE in Ada build. In general the symtabnodes are produced transparently
> on demand, so I do not see big problem in predicate using get_create, but perhaps we could
> think of changing this decision and manually adding symbols into symbol table at a time
> they are added to the IL. The concept of cgraph as on-side datastructure useful for
> inliner I started with over a decade ago is a bit aged. Something for next stage1
>
> This is version of patch I comitted.
>
> Thanks,
> Honza
>
>
> PR ipa/61886
> PR middle-end/25140
> * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Use compare_base_decls
> (nonoverlapping_component_refs_of_decl_p): Update sanity check.
> (decl_refs_may_alias_p): Use compare_base_decls.
> * alias.c: Include cgraph.h
> (rtx_equal_for_memref_p): Use rtx_equal_for_memref_p.
> (compare_base_decls): New function.
> (base_alias_check): Likewise.
> (memrefs_conflict_p): Likewise.
> (nonoverlapping_memrefs_p): Likewise.
> * alias.h (compare_base_decls): Declare.
>
> * gcc.c-torture/execute/alias-2.c: New testcase.
This patch introduced pr68999 [1] on alphaev68-linux-gnu. As shown in
the PR, patched gcc doesn't consider AND addresses as alias of their
neighbourhood.
[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68999
Uros.