public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc(refs/users/aldyh/heads/ranger-relational)] Only call PTA for pointers.
@ 2021-04-22 16:58 Aldy Hernandez
0 siblings, 0 replies; only message in thread
From: Aldy Hernandez @ 2021-04-22 16:58 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:44688f0298d9544510ac613792571e8e9f098d4d
commit 44688f0298d9544510ac613792571e8e9f098d4d
Author: Aldy Hernandez <aldyh@redhat.com>
Date: Thu Apr 22 17:06:35 2021 +0200
Only call PTA for pointers.
Diff:
---
gcc/gimple-ssa-evrp.c | 23 +++++++++++++++--------
1 file changed, 15 insertions(+), 8 deletions(-)
diff --git a/gcc/gimple-ssa-evrp.c b/gcc/gimple-ssa-evrp.c
index b2d734002a7..cfd1ee74c5f 100644
--- a/gcc/gimple-ssa-evrp.c
+++ b/gcc/gimple-ssa-evrp.c
@@ -166,9 +166,6 @@ points_to_analyzer::set_cond_points_to (tree pointer, tree pointee)
tree
points_to_analyzer::get_points_to (tree name) const
{
- if (getenv("PTA_OFF"))
- return NULL;
-
gcc_checking_assert (TREE_CODE (name) == SSA_NAME);
if (tree ret = m_global_points[SSA_NAME_VERSION (name)])
return ret;
@@ -284,7 +281,9 @@ pta_gimple_fold_valueize (tree name)
tree ret
= x_fold_context.m_ranger->value_of_expr (name, x_fold_context.m_stmt);
- if (!ret && TREE_CODE (name) == SSA_NAME)
+ if (!ret
+ && TREE_CODE (name) == SSA_NAME
+ && POINTER_TYPE_P (TREE_TYPE (name)))
ret = x_fold_context.m_points_to_analyzer->get_points_to (name);
return ret ? ret : name;
@@ -436,7 +435,9 @@ public:
tree value_of_expr (tree name, gimple *s = NULL) OVERRIDE
{
tree ret = m_ranger->value_of_expr (name, s);
- if (!ret && TREE_CODE (name) == SSA_NAME)
+ if (!ret
+ && TREE_CODE (name) == SSA_NAME
+ && POINTER_TYPE_P (TREE_TYPE (name)))
ret = m_points_to_analyzer->get_points_to (name);
return ret;
}
@@ -444,7 +445,9 @@ public:
tree value_on_edge (edge e, tree name) OVERRIDE
{
tree ret = m_ranger->value_on_edge (e, name);
- if (!ret && TREE_CODE (name) == SSA_NAME)
+ if (!ret
+ && TREE_CODE (name) == SSA_NAME
+ && POINTER_TYPE_P (TREE_TYPE (name)))
ret = m_points_to_analyzer->get_points_to (name);
return ret;
}
@@ -579,7 +582,9 @@ hybrid_folder::value_of_expr (tree op, gimple *stmt)
{
tree evrp_ret = evrp_folder::value_of_expr (op, stmt);
tree ranger_ret = m_ranger->value_of_expr (op, stmt);
- if (!ranger_ret && TREE_CODE (op) == SSA_NAME)
+ if (!ranger_ret
+ && TREE_CODE (op) == SSA_NAME
+ && POINTER_TYPE_P (TREE_TYPE (op)))
ranger_ret = m_points_to_analyzer->get_points_to (op);
return choose_value (evrp_ret, ranger_ret, op, stmt);
}
@@ -591,7 +596,9 @@ hybrid_folder::value_on_edge (edge e, tree op)
// via hybrid_folder::value_of_expr, but without an edge.
tree evrp_ret = evrp_folder::value_of_expr (op, NULL);
tree ranger_ret = m_ranger->value_on_edge (e, op);
- if (!ranger_ret && TREE_CODE (op) == SSA_NAME)
+ if (!ranger_ret
+ && TREE_CODE (op) == SSA_NAME
+ && POINTER_TYPE_P (TREE_TYPE (op)))
ranger_ret = m_points_to_analyzer->get_points_to (op);
return choose_value (evrp_ret, ranger_ret, op);
}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-04-22 16:58 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-22 16:58 [gcc(refs/users/aldyh/heads/ranger-relational)] Only call PTA for pointers Aldy Hernandez
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).