aboutsummaryrefslogtreecommitdiff
path: root/gcc/pointer-query.h
diff options
context:
space:
mode:
authorMartin Sebor <msebor@redhat.com>2022-01-25 14:20:51 -0700
committerMartin Sebor <msebor@redhat.com>2022-01-25 14:22:49 -0700
commit58ec0964b1d2f2ab197916cd661728f6a7a1736b (patch)
tree556496226150209b836df2a38b4cc457eab9e86f /gcc/pointer-query.h
parent5c1f274e3e090ee03bedc22dd7169b28e759974e (diff)
downloadgcc-58ec0964b1d2f2ab197916cd661728f6a7a1736b.zip
gcc-58ec0964b1d2f2ab197916cd661728f6a7a1736b.tar.gz
gcc-58ec0964b1d2f2ab197916cd661728f6a7a1736b.tar.bz2
Avoid recomputing PHI results after failure (PR104203).
Resolves: PR tree-optimization/104203 - huge compile-time regression in pointer_query gcc/ChangeLog: PR tree-optimization/104203 * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use TV_WARN_ACCESS. * pointer-query.cc (access_ref::merge_ref): Change return type. Convert failure to a conservative success. (access_ref::get_ref): Adjust to the change above. Short-circuit PHI evaluation after first failure turned into conservative success. * pointer-query.h (access_ref::merge_ref): Change return type. * timevar.def (TV_WARN_ACCESS): New timer variable.
Diffstat (limited to 'gcc/pointer-query.h')
-rw-r--r--gcc/pointer-query.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/pointer-query.h b/gcc/pointer-query.h
index 7dc965b..dbdcd59 100644
--- a/gcc/pointer-query.h
+++ b/gcc/pointer-query.h
@@ -67,7 +67,7 @@ struct access_ref
gphi *phi () const;
/* Merge the result for a pointer with *THIS. */
- bool merge_ref (vec<access_ref> *all_refs, tree, gimple *, int, bool,
+ void merge_ref (vec<access_ref> *all_refs, tree, gimple *, int, bool,
ssa_name_limit_t &, pointer_query &);
/* Return the object to which REF refers. */