OSDN Git Service

* tree-ssa-loop-im.c (SET_ALWAYS_EXECUTED_IN): New macro.
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 14 May 2011 19:45:28 +0000 (19:45 +0000)
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 14 May 2011 19:45:28 +0000 (19:45 +0000)
(fill_always_executed_in): Use [SET_]ALWAYS_EXECUTED_IN.
(tree_ssa_lim_finalize): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173762 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/tree-ssa-loop-im.c

index b5439d5..594f519 100644 (file)
@@ -1,3 +1,9 @@
+2011-05-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-ssa-loop-im.c (SET_ALWAYS_EXECUTED_IN): New macro.
+       (fill_always_executed_in): Use [SET_]ALWAYS_EXECUTED_IN.
+       (tree_ssa_lim_finalize): Likewise.
+
 2011-05-14  Uros Bizjak  <ubizjak@gmail.com>
 
        * config/i386/constraint.md (Yd, Yx): New register constraints.
index 4ec67cf..778edd4 100644 (file)
@@ -197,9 +197,10 @@ static bool ref_indep_loop_p (struct loop *, mem_ref_p);
 /* Minimum cost of an expensive expression.  */
 #define LIM_EXPENSIVE ((unsigned) PARAM_VALUE (PARAM_LIM_EXPENSIVE))
 
-/* The outermost loop for that execution of the header guarantees that the
+/* The outermost loop for which execution of the header guarantees that the
    block will be executed.  */
 #define ALWAYS_EXECUTED_IN(BB) ((struct loop *) (BB)->aux)
+#define SET_ALWAYS_EXECUTED_IN(BB, VAL) ((BB)->aux = (void *) (VAL))
 
 static struct lim_aux_data *
 init_lim_data (gimple stmt)
@@ -2440,7 +2441,7 @@ fill_always_executed_in (struct loop *loop, sbitmap contains_call)
   edge e;
   struct loop *inn_loop = loop;
 
-  if (!loop->header->aux)
+  if (ALWAYS_EXECUTED_IN (loop->header) == NULL)
     {
       bbs = get_loop_body_in_dom_order (loop);
 
@@ -2482,7 +2483,7 @@ fill_always_executed_in (struct loop *loop, sbitmap contains_call)
 
       while (1)
        {
-         last->aux = loop;
+         SET_ALWAYS_EXECUTED_IN (last, loop);
          if (last == loop->header)
            break;
          last = get_immediate_dominator (CDI_DOMINATORS, last);
@@ -2537,9 +2538,7 @@ tree_ssa_lim_finalize (void)
   htab_t h;
 
   FOR_EACH_BB (bb)
-    {
-      bb->aux = NULL;
-    }
+    SET_ALWAYS_EXECUTED_IN (bb, NULL);
 
   pointer_map_destroy (lim_aux_data_map);