aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2021-05-25 17:44:51 +0200
committerAldy Hernandez <aldyh@redhat.com>2021-05-26 21:26:54 +0200
commit57bf375151111ba880e6060708c8b18a682f5b20 (patch)
treef11dc3cdce2ffbe802796dfef5179e2e60219d04 /gcc
parent586d6f7aee0ba9faf3d9b7afd6ff89d57763a775 (diff)
downloadgcc-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.c20
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