aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-alias.h
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2015-09-29 13:04:18 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2015-09-29 13:04:18 +0000
commite7cbc0960edec3d2ce1edf00b6c536a6f2faca33 (patch)
tree5013d6531f4e348668278ebcc16763017f224884 /gcc/tree-ssa-alias.h
parenteada851cc9fb2822989d3ef81bb5b4b08dcc81a7 (diff)
downloadgcc-e7cbc0960edec3d2ce1edf00b6c536a6f2faca33.zip
gcc-e7cbc0960edec3d2ce1edf00b6c536a6f2faca33.tar.gz
gcc-e7cbc0960edec3d2ce1edf00b6c536a6f2faca33.tar.bz2
re PR fortran/67170 (PRE can't hoist out a readonly argument)
2015-09-29 Richard Biener <rguenther@suse.de> PR tree-optimization/67170 * tree-ssa-alias.h (get_continuation_for_phi): Adjust the translate function pointer parameter to get the bool whether to disambiguate only by reference. (walk_non_aliased_vuses): Likewise. * tree-ssa-alias.c (maybe_skip_until): Adjust. (get_continuation_for_phi_1): Likewise. (get_continuation_for_phi): Likewise. (walk_non_aliased_vuses): Likewise. * tree-ssa-sccvn.c (const_parms): New bitmap. (vn_reference_lookup_3): Adjust for interface change. Disambiguate parameters pointing to readonly memory. (free_scc_vn): Free const_parms. (run_scc_vn): Initialize const_parms from a fn spec attribute. * gfortran.dg/pr67170.f90: New testcase. From-SVN: r228244
Diffstat (limited to 'gcc/tree-ssa-alias.h')
-rw-r--r--gcc/tree-ssa-alias.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/tree-ssa-alias.h b/gcc/tree-ssa-alias.h
index 67d9bcb..f328e24 100644
--- a/gcc/tree-ssa-alias.h
+++ b/gcc/tree-ssa-alias.h
@@ -118,12 +118,12 @@ extern bool stmt_kills_ref_p (gimple *, tree);
extern bool stmt_kills_ref_p (gimple *, ao_ref *);
extern tree get_continuation_for_phi (gimple *, ao_ref *,
unsigned int *, bitmap *, bool,
- void *(*)(ao_ref *, tree, void *, bool),
+ void *(*)(ao_ref *, tree, void *, bool *),
void *);
extern void *walk_non_aliased_vuses (ao_ref *, tree,
void *(*)(ao_ref *, tree,
unsigned int, void *),
- void *(*)(ao_ref *, tree, void *, bool),
+ void *(*)(ao_ref *, tree, void *, bool *),
tree (*)(tree),
void *);
extern unsigned int walk_aliased_vdefs (ao_ref *, tree,