aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-threadbackward.c
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2021-11-11 18:06:50 +0100
committerAldy Hernandez <aldyh@redhat.com>2021-11-11 22:13:17 +0100
commit53b3edceab96de49034fa8cea79f3b365c63f3e5 (patch)
tree009961b5e6e7c9c455d4e7d5024809d28c17cfd6 /gcc/tree-ssa-threadbackward.c
parenta7753db4a7c071fef7a4e7fe2650d6c59cc34066 (diff)
downloadgcc-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.c5
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 ();
}