diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2021-05-25 17:44:51 +0200 |
---|---|---|
committer | Aldy Hernandez <aldyh@redhat.com> | 2021-05-26 21:26:54 +0200 |
commit | 57bf375151111ba880e6060708c8b18a682f5b20 (patch) | |
tree | f11dc3cdce2ffbe802796dfef5179e2e60219d04 /gcc | |
parent | 586d6f7aee0ba9faf3d9b7afd6ff89d57763a775 (diff) | |
download | gcc-57bf375151111ba880e6060708c8b18a682f5b20.zip gcc-57bf375151111ba880e6060708c8b18a682f5b20.tar.gz gcc-57bf375151111ba880e6060708c8b18a682f5b20.tar.bz2 |
Convert evrp pass to get_range_query.
gcc/ChangeLog:
* gimple-ssa-evrp.c (rvrp_folder::rvrp_folder): Call
enable_ranger.
(rvrp_folder::~rvrp_folder): Call disable_ranger.
(hybrid_folder::hybrid_folder): Call enable_ranger.
(hybrid_folder::~hybrid_folder): Call disable_ranger.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/gimple-ssa-evrp.c | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/gcc/gimple-ssa-evrp.c b/gcc/gimple-ssa-evrp.c index 829fdcd..118d103 100644 --- a/gcc/gimple-ssa-evrp.c +++ b/gcc/gimple-ssa-evrp.c @@ -117,11 +117,8 @@ class rvrp_folder : public substitute_and_fold_engine public: rvrp_folder () : substitute_and_fold_engine (), m_simplifier () - { - if (param_evrp_mode & EVRP_MODE_TRACE) - m_ranger = new trace_ranger (); - else - m_ranger = new gimple_ranger (); + { + m_ranger = enable_ranger (cfun); m_simplifier.set_range_query (m_ranger); } @@ -129,7 +126,9 @@ public: { if (dump_file && (dump_flags & TDF_DETAILS)) m_ranger->dump (dump_file); - delete m_ranger; + + m_ranger->export_global_ranges (); + disable_ranger (cfun); } tree value_of_expr (tree name, gimple *s = NULL) OVERRIDE @@ -175,10 +174,7 @@ class hybrid_folder : public evrp_folder public: hybrid_folder (bool evrp_first) { - if (param_evrp_mode & EVRP_MODE_TRACE) - m_ranger = new trace_ranger (); - else - m_ranger = new gimple_ranger (); + m_ranger = enable_ranger (cfun); if (evrp_first) { @@ -196,7 +192,9 @@ public: { if (dump_file && (dump_flags & TDF_DETAILS)) m_ranger->dump (dump_file); - delete m_ranger; + + m_ranger->export_global_ranges (); + disable_ranger (cfun); } bool fold_stmt (gimple_stmt_iterator *gsi) OVERRIDE |