diff options
author | Martin Sebor <msebor@redhat.com> | 2022-01-25 14:20:51 -0700 |
---|---|---|
committer | Martin Sebor <msebor@redhat.com> | 2022-01-25 14:22:49 -0700 |
commit | 58ec0964b1d2f2ab197916cd661728f6a7a1736b (patch) | |
tree | 556496226150209b836df2a38b4cc457eab9e86f /gcc/timevar.def | |
parent | 5c1f274e3e090ee03bedc22dd7169b28e759974e (diff) | |
download | gcc-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/timevar.def')
-rw-r--r-- | gcc/timevar.def | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/timevar.def b/gcc/timevar.def index c239e8e..2dae5e1 100644 --- a/gcc/timevar.def +++ b/gcc/timevar.def @@ -307,6 +307,7 @@ DEFTIMEVAR (TV_TREE_UBSAN , "tree ubsan") DEFTIMEVAR (TV_INITIALIZE_RTL , "initialize rtl") DEFTIMEVAR (TV_GIMPLE_LADDRESS , "address lowering") DEFTIMEVAR (TV_TREE_LOOP_IFCVT , "tree loop if-conversion") +DEFTIMEVAR (TV_WARN_ACCESS , "access analysis") /* Everything else in rest_of_compilation not included above. */ DEFTIMEVAR (TV_EARLY_LOCAL , "early local passes") |