[PATCH] Another small cleanup to the const_and_copies stack
authorJeff Law <law@redhat.com>
Fri, 11 Sep 2015 21:32:38 +0000 (15:32 -0600)
committerJeff Law <law@gcc.gnu.org>
Fri, 11 Sep 2015 21:32:38 +0000 (15:32 -0600)
2015-09-11  Jeff Law  <law@redhat.com>

PR tree-optimization/47679
* tree-ssa-dom.c (struct cond_equivalence): Update comment.
* tree-ssa-scopedtables.h (class const_and_copies): Prefix data
member with m_.  Update inline member functions as necessary.  Add
toplevel comment.
* tree-ssa-scopedtables.c: Update const_and_copies's member
functions to use m_ prefix to access the stack.

From-SVN: r227697

gcc/ChangeLog
gcc/tree-ssa-dom.c
gcc/tree-ssa-scopedtables.c
gcc/tree-ssa-scopedtables.h

index 45f3b151864fa46abbf4165cf23d9fca38d2c94d..839b53e26a769790236c96261385d321b8ff616e 100644 (file)
@@ -1,3 +1,13 @@
+2015-09-11  Jeff Law  <law@redhat.com>
+
+       PR tree-optimization/47679
+       * tree-ssa-dom.c (struct cond_equivalence): Update comment.
+       * tree-ssa-scopedtables.h (class const_and_copies): Prefix data
+       member with m_.  Update inline member functions as necessary.  Add
+       toplevel comment.
+       * tree-ssa-scopedtables.c: Update const_and_copies's member
+       functions to use m_ prefix to access the stack.
+
 2015-09-11  Aditya Kumar  <aditya.k7@samsung.com>
 
         * graphite-optimize-isl.c (disable_tiling): Remove.
index f0b19ffe1e4f163f8fd6b5bac2e2f4206669f73f..e3eb0dbd54bb5822b0422405080adfbad3c44a71 100644 (file)
@@ -92,8 +92,7 @@ struct cond_equivalence
 };
 
 
-/* Structure for recording edge equivalences as well as any pending
-   edge redirections during the dominator optimizer.
+/* Structure for recording edge equivalences.
 
    Computing and storing the edge equivalences instead of creating
    them on-demand can save significant amounts of time, particularly
@@ -101,10 +100,7 @@ struct cond_equivalence
 
    These structures live for a single iteration of the dominator
    optimizer in the edge's AUX field.  At the end of an iteration we
-   free each of these structures and update the AUX field to point
-   to any requested redirection target (the code for updating the
-   CFG and SSA graph for edge redirection expects redirection edge
-   targets to be in the AUX field for each edge.  */
+   free each of these structures.  */
 
 struct edge_info
 {
index 1fea69a7967b84577bfa5d9922c38df0b8aa353c..fedd92a850acc8a3568d04292570ea26fa14f0d4 100644 (file)
@@ -35,11 +35,11 @@ along with GCC; see the file COPYING3.  If not see
 void
 const_and_copies::pop_to_marker (void)
 {
-  while (stack.length () > 0)
+  while (m_stack.length () > 0)
     {
       tree prev_value, dest;
 
-      dest = stack.pop ();
+      dest = m_stack.pop ();
 
       /* A NULL value indicates we should stop unwinding, otherwise
         pop off the next entry as they're recorded in pairs.  */
@@ -55,7 +55,7 @@ const_and_copies::pop_to_marker (void)
          fprintf (dump_file, "\n");
        }
 
-      prev_value = stack.pop ();
+      prev_value = m_stack.pop ();
       set_ssa_name_value (dest, prev_value);
     }
 }
@@ -90,9 +90,9 @@ const_and_copies::record_const_or_copy (tree x, tree y, tree prev_x)
     }
 
   set_ssa_name_value (x, y);
-  stack.reserve (2);
-  stack.quick_push (prev_x);
-  stack.quick_push (x);
+  m_stack.reserve (2);
+  m_stack.quick_push (prev_x);
+  m_stack.quick_push (x);
 }
 
 /* A new value has been assigned to LHS.  If necessary, invalidate any
@@ -114,16 +114,16 @@ const_and_copies::invalidate (tree lhs)
      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 = stack.length() - 1; i >= 0; i--)
+  for (int i = m_stack.length() - 1; i >= 0; i--)
     {
       /* Ignore the stop unwinding markers.  */
-      if ((stack)[i] == NULL)
+      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 ((stack)[i]) == lhs)
-       record_const_or_copy ((stack)[i], NULL_TREE);
+      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--;
index 13f7ccb180e91e271448450a0a7d89d5168fb87d..f7d9ca4320c578816da064d30c57118ead6c9c2f 100644 (file)
@@ -20,14 +20,20 @@ along with GCC; see the file COPYING3.  If not see
 #ifndef GCC_TREE_SSA_SCOPED_TABLES_H
 #define GCC_TREE_SSA_SCOPED_TABLES_H
 
+/* This class defines an unwindable const/copy equivalence table
+   layered on top of SSA_NAME_VALUE/set_ssa_name_value.
+
+   Essentially it's just a stack of name,prev value pairs with a
+   special marker (NULL) to indicate unwind points.  */
+
 class const_and_copies
 {
  public:
-  const_and_copies (void) { stack.create (20); };
-  ~const_and_copies (void) { stack.release (); }
+  const_and_copies (void) { m_stack.create (20); };
+  ~const_and_copies (void) { m_stack.release (); }
 
   /* Push the unwinding marker onto the stack.  */
-  void push_marker (void) { stack.safe_push (NULL_TREE); }
+  void push_marker (void) { m_stack.safe_push (NULL_TREE); }
 
   /* Restore the const/copies table to its state when the last marker
      was pushed.  */
@@ -47,7 +53,7 @@ class const_and_copies
   void invalidate (tree);
 
  private:
-  vec<tree> stack;
+  vec<tree> m_stack;
 };
 
 #endif /* GCC_TREE_SSA_SCOPED_TABLES_H */