diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-05-25 15:18:21 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-05-25 15:18:21 +0000 |
commit | d8021dea8c5ab8c689c7d60a28d4e2778c2996cb (patch) | |
tree | 870d4d98bd4ce2f44cd8355355fe3b936ee09108 /gcc/tree-ssa-alias.h | |
parent | 85d1c108d2214b4b329c1894066429a54ca9f6aa (diff) | |
download | gcc-d8021dea8c5ab8c689c7d60a28d4e2778c2996cb.tar.gz |
2009-05-25 Richard Guenther <rguenther@suse.de>
PR tree-optimization/36327
* tree-ssa-alias.c (walk_non_aliased_vuses): Add second walker
callback for reference translation or lookup at the point
of may-defs.
* tree-ssa-alias.h (walk_non_aliased_vuses): Adjust prototype.
* tree-ssa-sccvn.c (get_ref_from_reference_ops): Bail out
for union COMPONENT_REFs.
(vn_reference_lookup_3): New callback. Lookup from memset
and CONSTRUCTOR assignment, translate through struct copies.
(vn_reference_lookup_pieces): Make sure to not free the
passed operands array. Adjust walk_non_aliased_vuses call.
(vn_reference_lookup): Adjust walk_non_aliased_vuses call,
make sure we do not leak memory.
* gcc.dg/tree-ssa/ssa-fre-24.c: New testcase.
* gcc.dg/tree-ssa/ssa-fre-25.c: Likewise.
* gcc.dg/tree-ssa/sra-2.c: Disable FRE.
* gcc.dg/vect/no-vfa-vect-43.c: Adjust.
* gcc.dg/vect/vect-40.c: Likewise.
* gcc.dg/vect/vect-42.c: Likewise.
* gcc.dg/vect/vect-46.c: Likewise.
* gcc.dg/vect/vect-76.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147851 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-alias.h')
-rw-r--r-- | gcc/tree-ssa-alias.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-ssa-alias.h b/gcc/tree-ssa-alias.h index d4d736d1c7b..bc96712f790 100644 --- a/gcc/tree-ssa-alias.h +++ b/gcc/tree-ssa-alias.h @@ -83,7 +83,8 @@ extern bool refs_output_dependent_p (tree, tree); extern bool ref_maybe_used_by_stmt_p (gimple, tree); extern bool stmt_may_clobber_ref_p (gimple, tree); extern void *walk_non_aliased_vuses (tree, tree, - void *(*)(tree, tree, void *), void *); + void *(*)(tree, tree, void *), + void *(*)(tree *, tree, void *), void *); extern unsigned int walk_aliased_vdefs (tree, tree, bool (*)(tree, tree, void *), void *, bitmap *); |