tree-ssa-loop-im.c (SET_ALWAYS_EXECUTED_IN): New macro.
authorEric Botcazou <ebotcazou@adacore.com>
Sat, 14 May 2011 19:45:28 +0000 (19:45 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Sat, 14 May 2011 19:45:28 +0000 (19:45 +0000)
* 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.

From-SVN: r173762

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

index b5439d5f55f4c4efee6cf9aa1be9599464c11fe3..594f519fab4b96864c14cc74bc32a3201d5ec5b9 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 4ec67cf1138eba56db012fbf4f9a77db5db3e2d9..778edd49ff0ecca173d38175582f34bea85213ca 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);