aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-scopedtables.c
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2015-10-29 14:37:01 -0600
committerJeff Law <law@gcc.gnu.org>2015-10-29 14:37:01 -0600
commit334b4842a280bf7fde59f1c844099678a0fe219d (patch)
treee3383887c06bf39776d85ce45967e12daa3339bc /gcc/tree-ssa-scopedtables.c
parent5a978b9f8899d6fc42364c0db8ed13b674a5ffb0 (diff)
downloadgcc-334b4842a280bf7fde59f1c844099678a0fe219d.zip
gcc-334b4842a280bf7fde59f1c844099678a0fe219d.tar.gz
gcc-334b4842a280bf7fde59f1c844099678a0fe219d.tar.bz2
[PATCH] Remove unnecessary invalidation support in threading
2015-10-29 Jeff Law <law@redhat.com> * tree-ssa-scopedtables.h (const_and_copies): Remove invalidate method. * tree-ssa-scopedtables.h (const_and_copies::invalidate): Remove. * tree-ssa-threadedge.c (record_temporary_equivalences_from_stmts_at_dest): Remove backedge_seen argument and associated code which invalidated equivalences based on the value of that argument. (thread_through_normal_block): Corresponding changes. From-SVN: r229559
Diffstat (limited to 'gcc/tree-ssa-scopedtables.c')
-rw-r--r--gcc/tree-ssa-scopedtables.c39
1 files changed, 0 insertions, 39 deletions
diff --git a/gcc/tree-ssa-scopedtables.c b/gcc/tree-ssa-scopedtables.c
index db3f954..ae5acc2 100644
--- a/gcc/tree-ssa-scopedtables.c
+++ b/gcc/tree-ssa-scopedtables.c
@@ -669,45 +669,6 @@ const_and_copies::record_const_or_copy (tree x, tree y, tree prev_x)
m_stack.quick_push (x);
}
-/* A new value has been assigned to LHS. If necessary, invalidate any
- equivalences that are no longer valid. This includes invaliding
- LHS and any objects that are currently equivalent to LHS.
-
- Finding the objects that are currently marked as equivalent to LHS
- is a bit tricky. We could walk the ssa names and see if any have
- SSA_NAME_VALUE that is the same as LHS. That's expensive.
-
- However, it's far more efficient to look at the unwinding stack as
- that will have all context sensitive equivalences which are the only
- ones that we really have to worry about here. */
-void
-const_and_copies::invalidate (tree lhs)
-{
-
- /* The stack is an unwinding stack. If the current element is NULL
- then it's a "stop unwinding" marker. Else the current marker is
- the SSA_NAME with an equivalence and the prior entry in the stack
- is what the current element is equivalent to. */
- for (int i = m_stack.length() - 1; i >= 0; i--)
- {
- /* Ignore the stop unwinding markers. */
- if ((m_stack)[i] == NULL)
- continue;
-
- /* We want to check the current value of stack[i] to see if
- it matches LHS. If so, then invalidate. */
- if (SSA_NAME_VALUE ((m_stack)[i]) == lhs)
- record_const_or_copy ((m_stack)[i], NULL_TREE);
-
- /* Remember, we're dealing with two elements in this case. */
- i--;
- }
-
- /* And invalidate any known value for LHS itself. */
- if (SSA_NAME_VALUE (lhs))
- record_const_or_copy (lhs, NULL_TREE);
-}
-
bool
expr_elt_hasher::equal (const value_type &p1, const compare_type &p2)
{