tree.h (CASE_CHAIN): Define.
authorNathan Froyd <froydnj@codesourcery.com>
Thu, 31 Mar 2011 02:26:18 +0000 (02:26 +0000)
committerNathan Froyd <froydnj@gcc.gnu.org>
Thu, 31 Mar 2011 02:26:18 +0000 (02:26 +0000)
* tree.h (CASE_CHAIN): Define.
* tree-cfg.c (edge_to_cases_cleanup, get_cases_for_edge): Use it.
(gimple_redirect_edge_and_branch): Likewise.

From-SVN: r171769

gcc/ChangeLog
gcc/tree-cfg.c
gcc/tree.h

index d5fceb8bdba900644058bda81da1725e24720da3..f71f1af465ea235e536a673e1d0d69d099fd6086 100644 (file)
@@ -1,3 +1,9 @@
+2011-03-30  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * tree.h (CASE_CHAIN): Define.
+       * tree-cfg.c (edge_to_cases_cleanup, get_cases_for_edge): Use it.
+       (gimple_redirect_edge_and_branch): Likewise.
+
 2011-03-30  Vladimir Makarov  <vmakarov@redhat.com>
 
        PR middle-end/48367
index 01893ba393e9dad0bab3ca2419c7464c5163fe0f..8a47e2ff728d7f56a89b2f66817ea965af3ad600 100644 (file)
@@ -838,8 +838,8 @@ edge_to_cases_cleanup (const void *key ATTRIBUTE_UNUSED, void **value,
 
   for (t = (tree) *value; t; t = next)
     {
-      next = TREE_CHAIN (t);
-      TREE_CHAIN (t) = NULL;
+      next = CASE_CHAIN (t);
+      CASE_CHAIN (t) = NULL;
     }
 
   *value = NULL;
@@ -922,7 +922,7 @@ get_cases_for_edge (edge e, gimple t)
       /* Add it to the chain of CASE_LABEL_EXPRs referencing E, or create
         a new chain.  */
       slot = pointer_map_insert (edge_to_cases, this_edge);
-      TREE_CHAIN (elt) = (tree) *slot;
+      CASE_CHAIN (elt) = (tree) *slot;
       *slot = elt;
     }
 
@@ -4851,7 +4851,7 @@ gimple_redirect_edge_and_branch (edge e, basic_block dest)
              {
                last = cases;
                CASE_LABEL (cases) = label;
-               cases = TREE_CHAIN (cases);
+               cases = CASE_CHAIN (cases);
              }
 
            /* If there was already an edge in the CFG, then we need
@@ -4860,8 +4860,8 @@ gimple_redirect_edge_and_branch (edge e, basic_block dest)
              {
                tree cases2 = get_cases_for_edge (e2, stmt);
 
-               TREE_CHAIN (last) = TREE_CHAIN (cases2);
-               TREE_CHAIN (cases2) = first;
+               CASE_CHAIN (last) = CASE_CHAIN (cases2);
+               CASE_CHAIN (cases2) = first;
              }
            bitmap_set_bit (touched_switch_bbs, gimple_bb (stmt)->index);
          }
index 9a288cb69ac100bde2a365c14c0dab5a1ebd9543..ac5e544abe37ffd23888c976433be16d8ba24ecb 100644 (file)
@@ -1636,6 +1636,7 @@ extern void protected_set_expr_location (tree, location_t);
 #define CASE_LOW(NODE)                 TREE_OPERAND (CASE_LABEL_EXPR_CHECK (NODE), 0)
 #define CASE_HIGH(NODE)                TREE_OPERAND (CASE_LABEL_EXPR_CHECK (NODE), 1)
 #define CASE_LABEL(NODE)               TREE_OPERAND (CASE_LABEL_EXPR_CHECK (NODE), 2)
+#define CASE_CHAIN(NODE)               TREE_CHAIN (CASE_LABEL_EXPR_CHECK (NODE))
 
 /* The operands of a TARGET_MEM_REF.  Operands 0 and 1 have to match
    corresponding MEM_REF operands.  */