diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2021-11-11 18:06:50 +0100 |
---|---|---|
committer | Aldy Hernandez <aldyh@redhat.com> | 2021-11-11 22:13:17 +0100 |
commit | 53b3edceab96de49034fa8cea79f3b365c63f3e5 (patch) | |
tree | 009961b5e6e7c9c455d4e7d5024809d28c17cfd6 /gcc/tree-ssa-threadbackward.c | |
parent | a7753db4a7c071fef7a4e7fe2650d6c59cc34066 (diff) | |
download | gcc-53b3edceab96de49034fa8cea79f3b365c63f3e5.zip gcc-53b3edceab96de49034fa8cea79f3b365c63f3e5.tar.gz gcc-53b3edceab96de49034fa8cea79f3b365c63f3e5.tar.bz2 |
Make ranger optional in path_range_query.
All users of path_range_query are currently allocating a gimple_ranger
only to pass it to the query object. It's tidier to just do it from
path_range_query if no ranger was passed.
Tested on x86-64 Linux.
gcc/ChangeLog:
* gimple-range-path.cc (path_range_query::path_range_query): New
ctor without a ranger.
(path_range_query::~path_range_query): Free ranger if necessary.
(path_range_query::range_on_path_entry): Adjust m_ranger for pointer.
(path_range_query::ssa_range_in_phi): Same.
(path_range_query::compute_ranges_in_block): Same.
(path_range_query::compute_imports): Same.
(path_range_query::compute_ranges): Same.
(path_range_query::range_of_stmt): Same.
(path_range_query::compute_outgoing_relations): Same.
* gimple-range-path.h (class path_range_query): New ctor.
* tree-ssa-loop-ch.c (ch_base::copy_headers): Remove gimple_ranger
as path_range_query allocates one.
* tree-ssa-threadbackward.c (class back_threader): Remove m_ranger.
(back_threader::~back_threader): Same.
Diffstat (limited to 'gcc/tree-ssa-threadbackward.c')
-rw-r--r-- | gcc/tree-ssa-threadbackward.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/gcc/tree-ssa-threadbackward.c b/gcc/tree-ssa-threadbackward.c index 61aee25..71989c2 100644 --- a/gcc/tree-ssa-threadbackward.c +++ b/gcc/tree-ssa-threadbackward.c @@ -100,7 +100,6 @@ private: back_threader_registry m_registry; back_threader_profitability m_profit; - gimple_ranger *m_ranger; path_range_query *m_solver; // Current path being analyzed. @@ -143,15 +142,13 @@ back_threader::back_threader (function *fun, unsigned flags, bool first) m_fun = fun; m_flags = flags; - m_ranger = new gimple_ranger; - m_solver = new path_range_query (*m_ranger, flags & BT_RESOLVE); + m_solver = new path_range_query (flags & BT_RESOLVE); m_last_stmt = NULL; } back_threader::~back_threader () { delete m_solver; - delete m_ranger; loop_optimizer_finalize (); } |