OSDN Git Service

* common.opt (ftree-combine-temps): Remove.
authoramacleod <amacleod@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 1 Dec 2006 19:53:29 +0000 (19:53 +0000)
committeramacleod <amacleod@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 1 Dec 2006 19:53:29 +0000 (19:53 +0000)
* tree-outof-ssa.c (SSANORM_COMBINE_TEMPS): Remove.
(coalesce_ssa_name): Don't check for combine-temps.
(coalesce_vars): Remove.
(check_replaceable): Use num_imm_uses.
(remove_ssa_form, insert_backedge_copies, rewrite_out_of_ssa): Don't
check for combine-temps.
(rewrite_out_of_ssa): Never create a ref_count in the var_map.
* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Change parms
to register_ssa_partition calls.
* tree-ssa-live.c (register_ssa_partition): Remove prototype.
(init_var_map, delete_var_map): remove refernces to ref_count.
(create_ssa_var_map): Never calculate a ref count.
(type_var_init): Remove.
* tree-ssa-live.h (typedef struct _var_map): Remove ref_count.
(SSA_VAR_MAP_REF_COUNT): Delete.
(create_ssa_var_map): Change Prototype to have no parameters.
(version_ref_count): Delete.
(register_ssa_partition): Remove 'is_use' paramater and don't set the
ref_count vector.
(type_var_num, type_var, type_var_first_partition,
type_var_next_partition, type_var_dump, type_var_delete,
type_var_remove_partition, type_var_find, type_var_compact,
type_var_decompact): Remove.

* gcc.dg/max-1.c: Remove reference to -fno-tree-lrs option.

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

gcc/ChangeLog
gcc/common.opt
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/max-1.c
gcc/tree-outof-ssa.c
gcc/tree-ssa-copyrename.c
gcc/tree-ssa-live.c
gcc/tree-ssa-live.h

index 7ac05a7..34ac82f 100644 (file)
@@ -1,3 +1,30 @@
+2006-12-01  Andrew MacLeod  <amacleod@redhat.com>
+
+       * common.opt (ftree-combine-temps): Remove.
+       * tree-outof-ssa.c (SSANORM_COMBINE_TEMPS): Remove.
+       (coalesce_ssa_name): Don't check for combine-temps.
+       (coalesce_vars): Remove.
+       (check_replaceable): Use num_imm_uses.
+       (remove_ssa_form, insert_backedge_copies, rewrite_out_of_ssa): Don't 
+       check for combine-temps.
+       (rewrite_out_of_ssa): Never create a ref_count in the var_map.
+       * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Change parms
+       to register_ssa_partition calls.
+       * tree-ssa-live.c (register_ssa_partition): Remove prototype.
+       (init_var_map, delete_var_map): remove refernces to ref_count.
+       (create_ssa_var_map): Never calculate a ref count.
+       (type_var_init): Remove.
+       * tree-ssa-live.h (typedef struct _var_map): Remove ref_count.
+       (SSA_VAR_MAP_REF_COUNT): Delete.
+       (create_ssa_var_map): Change Prototype to have no parameters.
+       (version_ref_count): Delete.
+       (register_ssa_partition): Remove 'is_use' paramater and don't set the
+       ref_count vector.
+       (type_var_num, type_var, type_var_first_partition,
+       type_var_next_partition, type_var_dump, type_var_delete,
+       type_var_remove_partition, type_var_find, type_var_compact,
+       type_var_decompact): Remove.
+
 2006-12-01  Bernd Schmidt  <bernd.schmidt@analog.com>
 
        * config/bfin/bfin.md (pushsi_insn, popsi_insn): Set correct addrtype
index 4aaa4d2..e73fbac 100644 (file)
@@ -929,10 +929,6 @@ ftree-ch
 Common Report Var(flag_tree_ch)
 Enable loop header copying on trees
 
-ftree-combine-temps
-Common Report Var(flag_tree_combine_temps)
-Coalesce memory temporaries in the SSA->normal pass
-
 ftree-copyrename
 Common Report Var(flag_tree_copyrename)
 Replace SSA temporaries with better names in copies
index ce14b6d..08b4e04 100644 (file)
@@ -1,3 +1,7 @@
+2006-12-01  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc.dg/max-1.c: Remove reference to -fno-tree-lrs option.
+
 2006-12-01  Ryan Mansfield  <rmansfield@qnx.com>
 
        PR c++/29066
index 02aaa46..3eb7800 100644 (file)
@@ -1,7 +1,9 @@
 /* PR middle-end/18548 */
 /* Test case reduced by Andrew Pinski <pinskia@physics.uc.edu> */
 /* { dg-do run } */
-/* { dg-options "-O1 -fno-tree-lrs" } */
+/* { dg-options "-O1 " } */
+/* Option -fno-tree-lrs removed By Andrew MacLeod since it is no longer 
+   supported in the compiler beginning with GCC 4.3.  */
 /* m32c has varying sized pointers */
 /* { dg-skip-if "" { "m32c-*-*" } { "*" } { "-mcpu=m32c" "-mcpu=m32cm" } } */
 
index 705066a..1bd531a 100644 (file)
@@ -51,7 +51,6 @@ Boston, MA 02110-1301, USA.  */
 /* Flags to pass to remove_ssa_form.  */
 
 #define SSANORM_PERFORM_TER            0x1
-#define SSANORM_COMBINE_TEMPS          0x2
 #define SSANORM_COALESCE_PARTITIONS    0x4
 
 /* Used to hold all the components required to do SSA PHI elimination.
@@ -874,11 +873,8 @@ coalesce_ssa_name (var_map map, int flags)
        SET_BIT (live, x);
     }
 
-  if ((flags & SSANORM_COMBINE_TEMPS) == 0)
-    {
-      delete_tree_live_info (liveinfo);
-      liveinfo = NULL;
-    }
+  delete_tree_live_info (liveinfo);
+  liveinfo = NULL;
 
   /* Assign root variable as partition representative for each live on entry
      partition.  */
@@ -1126,121 +1122,6 @@ eliminate_virtual_phis (void)
 }
 
 
-/* This routine will coalesce variables in MAP of the same type which do not 
-   interfere with each other. LIVEINFO is the live range info for variables
-   of interest.  This will both reduce the memory footprint of the stack, and 
-   allow us to coalesce together local copies of globals and scalarized 
-   component refs.  */
-
-static void
-coalesce_vars (var_map map, tree_live_info_p liveinfo)
-{
-  basic_block bb;
-  type_var_p tv;
-  tree var;
-  unsigned x, p, p2;
-  coalesce_list_p cl;
-  conflict_graph graph;
-
-  cl = create_coalesce_list (map);
-
-  /* Merge all the live on entry vectors for coalesced partitions.  */
-  for (x = 0; x < num_var_partitions (map); x++)
-    {
-      var = partition_to_var (map, x);
-      p = var_to_partition (map, var);
-      if (p != x)
-        live_merge_and_clear (liveinfo, p, x);
-    }
-
-  /* When PHI nodes are turned into copies, the result of each PHI node
-     becomes live on entry to the block. Mark these now.  */
-  FOR_EACH_BB (bb)
-    {
-      tree phi, arg;
-      unsigned p;
-      
-      for (phi = phi_nodes (bb); phi; phi = PHI_CHAIN (phi))
-       {
-         p = var_to_partition (map, PHI_RESULT (phi));
-
-         /* Skip virtual PHI nodes.  */
-         if (p == (unsigned)NO_PARTITION)
-           continue;
-
-         make_live_on_entry (liveinfo, bb, p);
-
-         /* Each argument is a potential copy operation. Add any arguments 
-            which are not coalesced to the result to the coalesce list.  */
-         for (x = 0; x < (unsigned)PHI_NUM_ARGS (phi); x++)
-           {
-             arg = PHI_ARG_DEF (phi, x);
-             if (!phi_ssa_name_p (arg))
-               continue;
-             p2 = var_to_partition (map, arg);
-             if (p2 == (unsigned)NO_PARTITION)
-               continue;
-             if (p != p2)
-               {
-                 edge e = PHI_ARG_EDGE (phi, x);
-
-                 add_coalesce (cl, p, p2, 
-                               coalesce_cost (EDGE_FREQUENCY (e),
-                                              maybe_hot_bb_p (bb),
-                                              EDGE_CRITICAL_P (e)));
-               }
-           }
-       }
-   }
-
-  
-  /* Re-calculate live on exit info.  */
-  calculate_live_on_exit (liveinfo);
-
-  if (dump_file && (dump_flags & TDF_DETAILS))
-    {
-      fprintf (dump_file, "Live range info for variable memory coalescing.\n");
-      dump_live_info (dump_file, liveinfo, LIVEDUMP_ALL);
-
-      fprintf (dump_file, "Coalesce list from phi nodes:\n");
-      dump_coalesce_list (dump_file, cl);
-    }
-
-
-  tv = type_var_init (map);
-  if (dump_file)
-    type_var_dump (dump_file, tv);
-  type_var_compact (tv);
-  if (dump_file)
-    type_var_dump (dump_file, tv);
-
-  graph = build_tree_conflict_graph (liveinfo, tv, cl);
-
-  type_var_decompact (tv);
-  if (dump_file && (dump_flags & TDF_DETAILS))
-    {
-      fprintf (dump_file, "type var list now looks like:n");
-      type_var_dump (dump_file, tv);
-
-      fprintf (dump_file, "Coalesce list after conflict graph build:\n");
-      dump_coalesce_list (dump_file, cl);
-    }
-
-  sort_coalesce_list (cl);
-  if (dump_file && (dump_flags & TDF_DETAILS))
-    {
-      fprintf (dump_file, "Coalesce list after sorting:\n");
-      dump_coalesce_list (dump_file, cl);
-    }
-
-  coalesce_tpa_members (tv, graph, map, cl, 
-                       ((dump_flags & TDF_DETAILS) ? dump_file : NULL));
-
-  type_var_delete (tv);
-  delete_coalesce_list (cl);
-}
-
-
 /* Temporary Expression Replacement (TER)
 
    Replace SSA version variables during out-of-ssa with their defining
@@ -1553,7 +1434,6 @@ check_replaceable (temp_expr_table_p tab, tree stmt)
 {
   tree var, def, basevar;
   int version;
-  var_map map = tab->map;
   ssa_op_iter iter;
   tree call_expr;
   bitmap def_vars, use_vars;
@@ -1566,7 +1446,7 @@ check_replaceable (temp_expr_table_p tab, tree stmt)
   if (!def)
     return false;
 
-  if (version_ref_count (map, def) != 1)
+  if (num_imm_uses (def) != 1)
     return false;
 
   /* There must be no V_MAY_DEFS or V_MUST_DEFS.  */
@@ -2338,10 +2218,7 @@ remove_ssa_form (var_map map, int flags)
 
   /* If we are not combining temps, don't calculate live ranges for variables
      with only one SSA version.  */
-  if ((flags & SSANORM_COMBINE_TEMPS) == 0)
-    compact_var_map (map, VARMAP_NO_SINGLE_DEFS);
-  else
-    compact_var_map (map, VARMAP_NORMAL);
+  compact_var_map (map, VARMAP_NO_SINGLE_DEFS);
 
   if (dump_file && (dump_flags & TDF_DETAILS))
     dump_var_map (dump_file, map);
@@ -2349,8 +2226,7 @@ remove_ssa_form (var_map map, int flags)
   liveinfo = coalesce_ssa_name (map, flags);
 
   /* Make sure even single occurrence variables are in the list now.  */
-  if ((flags & SSANORM_COMBINE_TEMPS) == 0)
-    compact_var_map (map, VARMAP_NORMAL);
+  compact_var_map (map, VARMAP_NORMAL);
 
   if (dump_file && (dump_flags & TDF_DETAILS))
     {
@@ -2374,16 +2250,6 @@ remove_ssa_form (var_map map, int flags)
       dump_var_map (dump_file, map);
     }
 
-  if ((flags & SSANORM_COMBINE_TEMPS) && liveinfo)
-    {
-      coalesce_vars (map, liveinfo);
-      if (dump_file && (dump_flags & TDF_DETAILS))
-       {
-         fprintf (dump_file, "After variable memory coalescing:\n");
-         dump_var_map (dump_file, map);
-       }
-    }
-  
   if (liveinfo)
     delete_tree_live_info (liveinfo);
 
@@ -2449,8 +2315,7 @@ insert_backedge_copies (void)
                 need a copy statement.  */
              if ((e->flags & EDGE_DFS_BACK)
                  && (TREE_CODE (arg) != SSA_NAME
-                     || (!flag_tree_combine_temps
-                         && SSA_NAME_VAR (arg) != result_var)))
+                     || SSA_NAME_VAR (arg) != result_var))
                {
                  tree stmt, name, last = NULL;
                  block_stmt_iterator bsi;
@@ -2505,7 +2370,6 @@ static unsigned int
 rewrite_out_of_ssa (void)
 {
   var_map map;
-  int var_flags = 0;
   int ssa_flags = 0;
 
   /* If elimination of a PHI requires inserting a copy on a backedge,
@@ -2524,14 +2388,8 @@ rewrite_out_of_ssa (void)
   if (dump_file && (dump_flags & TDF_DETAILS))
     dump_tree_cfg (dump_file, dump_flags & ~TDF_DETAILS);
 
-  /* We cannot allow unssa to un-gimplify trees before we instrument them.  */
-  if (flag_tree_ter && !flag_mudflap)
-    var_flags = SSA_VAR_MAP_REF_COUNT;
-
-  map = create_ssa_var_map (var_flags);
+  map = create_ssa_var_map ();
 
-  if (flag_tree_combine_temps)
-    ssa_flags |= SSANORM_COMBINE_TEMPS;
   if (flag_tree_ter && !flag_mudflap)
     ssa_flags |= SSANORM_PERFORM_TER;
 
index a0ffefd..b2921a2 100644 (file)
@@ -121,8 +121,8 @@ copy_rename_partition_coalesce (var_map map, tree var1, tree var2, FILE *debug)
   gcc_assert (TREE_CODE (var1) == SSA_NAME);
   gcc_assert (TREE_CODE (var2) == SSA_NAME);
 
-  register_ssa_partition (map, var1, false);
-  register_ssa_partition (map, var2, true);
+  register_ssa_partition (map, var1);
+  register_ssa_partition (map, var2);
 
   p1 = partition_find (map->var_partition, SSA_NAME_VERSION (var1));
   p2 = partition_find (map->var_partition, SSA_NAME_VERSION (var2));
index e1525c1..3d578ac 100644 (file)
@@ -45,7 +45,6 @@ static tree_live_info_p new_tree_live_info (var_map);
 static inline void set_if_valid (var_map, bitmap, tree);
 static inline void add_livein_if_notdef (tree_live_info_p, bitmap,
                                         tree, basic_block);
-static inline void register_ssa_partition (var_map, tree, bool);
 static inline void add_conflicts_if_valid (tpa_p, conflict_graph,
                                           var_map, bitmap, tree);
 static partition_pair_p find_partition_pair (coalesce_list_p, int, int, bool);
@@ -79,7 +78,6 @@ init_var_map (int size)
   map->compact_to_partition = NULL;
   map->num_partitions = size;
   map->partition_size = size;
-  map->ref_count = NULL;
   return map;
 }
 
@@ -95,8 +93,6 @@ delete_var_map (var_map map)
     free (map->partition_to_compact);
   if (map->compact_to_partition)
     free (map->compact_to_partition);
-  if (map->ref_count)
-    free (map->ref_count);
   free (map);
 }
 
@@ -402,11 +398,11 @@ remove_unused_locals (void)
    new partition map is returned.  */
 
 var_map
-create_ssa_var_map (int flags)
+create_ssa_var_map (void)
 {
   block_stmt_iterator bsi;
   basic_block bb;
-  tree dest, use;
+  tree var;
   tree stmt;
   var_map map;
   ssa_op_iter iter;
@@ -422,13 +418,6 @@ create_ssa_var_map (int flags)
   used_in_virtual_ops = BITMAP_ALLOC (NULL);
 #endif
 
-  if (flags & SSA_VAR_MAP_REF_COUNT)
-    {
-      map->ref_count
-       = (int *)xmalloc (((num_ssa_names + 1) * sizeof (int)));
-      memset (map->ref_count, 0, (num_ssa_names + 1) * sizeof (int));
-    }
-
   FOR_EACH_BB (bb)
     {
       tree phi, arg;
@@ -436,12 +425,12 @@ create_ssa_var_map (int flags)
       for (phi = phi_nodes (bb); phi; phi = PHI_CHAIN (phi))
        {
          int i;
-         register_ssa_partition (map, PHI_RESULT (phi), false);
+         register_ssa_partition (map, PHI_RESULT (phi));
          for (i = 0; i < PHI_NUM_ARGS (phi); i++)
            {
              arg = PHI_ARG_DEF (phi, i);
              if (TREE_CODE (arg) == SSA_NAME)
-               register_ssa_partition (map, arg, true);
+               register_ssa_partition (map, arg);
 
              mark_all_vars_used (&PHI_ARG_DEF_TREE (phi, i));
            }
@@ -452,31 +441,22 @@ create_ssa_var_map (int flags)
          stmt = bsi_stmt (bsi);
 
          /* Register USE and DEF operands in each statement.  */
-         FOR_EACH_SSA_TREE_OPERAND (use , stmt, iter, SSA_OP_USE)
-           {
-             register_ssa_partition (map, use, true);
-
-#ifdef ENABLE_CHECKING
-             bitmap_set_bit (used_in_real_ops, DECL_UID (SSA_NAME_VAR (use)));
-#endif
-           }
-
-         FOR_EACH_SSA_TREE_OPERAND (dest, stmt, iter, SSA_OP_DEF)
+         FOR_EACH_SSA_TREE_OPERAND (var, stmt, iter, (SSA_OP_DEF|SSA_OP_USE))
            {
-             register_ssa_partition (map, dest, false);
+             register_ssa_partition (map, var);
 
 #ifdef ENABLE_CHECKING
-             bitmap_set_bit (used_in_real_ops, DECL_UID (SSA_NAME_VAR (dest)));
+             bitmap_set_bit (used_in_real_ops, DECL_UID (SSA_NAME_VAR (var)));
 #endif
            }
 
 #ifdef ENABLE_CHECKING
          /* Validate that virtual ops don't get used in funny ways.  */
-         FOR_EACH_SSA_TREE_OPERAND (use, stmt, iter, 
+         FOR_EACH_SSA_TREE_OPERAND (var, stmt, iter, 
                                     SSA_OP_VIRTUAL_USES | SSA_OP_VMUSTDEF)
            {
              bitmap_set_bit (used_in_virtual_ops, 
-                             DECL_UID (SSA_NAME_VAR (use)));
+                             DECL_UID (SSA_NAME_VAR (var)));
            }
 
 #endif /* ENABLE_CHECKING */
@@ -1069,73 +1049,6 @@ root_var_init (var_map map)
 }
 
 
-/* Initialize a type_var structure which associates all the partitions in MAP 
-   of the same type to the type node's index.  Volatiles are ignored.  */
-
-type_var_p
-type_var_init (var_map map)
-{
-  type_var_p tv;
-  int x, y, p;
-  int num_partitions = num_var_partitions (map);
-  tree t;
-  sbitmap seen;
-
-  tv = tpa_init (map);
-  if (!tv)
-    return NULL;
-
-  seen = sbitmap_alloc (num_partitions);
-  sbitmap_zero (seen);
-
-  for (x = num_partitions - 1; x >= 0; x--)
-    {
-      t = partition_to_var (map, x);
-
-      /* Disallow coalescing of these types of variables.  */
-      if (!t
-         || TREE_THIS_VOLATILE (t)
-         || TREE_CODE (t) == RESULT_DECL
-         || TREE_CODE (t) == PARM_DECL 
-         || (DECL_P (t)
-             && (DECL_REGISTER (t)
-                 || !DECL_IGNORED_P (t)
-                 || DECL_RTL_SET_P (t))))
-        continue;
-
-      p = var_to_partition (map, t);
-
-      gcc_assert (p != NO_PARTITION);
-
-      /* If partitions have been coalesced, only add the representative 
-        for the partition to the list once.  */
-      if (TEST_BIT (seen, p))
-        continue;
-      SET_BIT (seen, p);
-      t = TREE_TYPE (t);
-
-      /* Find the list for this type.  */
-      for (y = 0; y < tv->num_trees; y++)
-        if (t == VEC_index (tree, tv->trees, y))
-         break;
-      if (y == tv->num_trees)
-        {
-         tv->num_trees++;
-         VEC_safe_push (tree, heap, tv->trees, t);
-         VEC_safe_push (int, heap, tv->first_partition, p);
-       }
-      else
-        {
-         tv->next_partition[p] = VEC_index (int, tv->first_partition, y);
-         VEC_replace (int, tv->first_partition, y, p);
-       }
-      tv->partition_to_tree_map[p] = y;
-    }
-  sbitmap_free (seen);
-  return tv;
-}
-
-
 /* Hash function for 2 integer coalesce pairs.  */
 #define COALESCE_HASH_FN(R1, R2) ((R2) * ((R2) - 1) / 2 + (R1))
 
index 17ada27..625e833 100644 (file)
@@ -44,9 +44,6 @@ typedef struct _var_map
 
   /* Original partition size.  */
   unsigned int partition_size;
-
-  /* Reference count, if required.  */
-  int *ref_count;
 } *var_map;
 
 #define VAR_ANN_PARTITION(ann) (ann->partition)
@@ -74,11 +71,9 @@ static inline tree var_to_partition_to_var (var_map, tree);
 static inline tree partition_to_var (var_map, int);
 static inline int var_to_partition (var_map, tree);
 static inline tree version_to_var (var_map, int);
-static inline int version_ref_count (var_map, tree);
-static inline void register_ssa_partition (var_map, tree, bool);
+static inline void register_ssa_partition (var_map, tree);
 
-#define SSA_VAR_MAP_REF_COUNT   0x01
-extern var_map create_ssa_var_map (int);
+extern var_map create_ssa_var_map (void);
 
 /* Number of partitions in MAP.  */
 
@@ -89,17 +84,6 @@ num_var_partitions (var_map map)
 }
 
 
-/* Return the reference count for SSA_VAR's partition in MAP.  */
-
-static inline int
-version_ref_count (var_map map, tree ssa_var)
-{
-  int version = SSA_NAME_VERSION (ssa_var);
-  gcc_assert (map->ref_count);
-  return map->ref_count[version];
-}
-
 /* Given partition index I from MAP, return the variable which represents that 
    partition.  */
  
@@ -176,7 +160,7 @@ var_to_partition_to_var (var_map map, tree var)
    later.  */ 
 
 static inline void
-register_ssa_partition (var_map map, tree ssa_var, bool is_use)
+register_ssa_partition (var_map map, tree ssa_var)
 {
   int version;
 
@@ -185,9 +169,6 @@ register_ssa_partition (var_map map, tree ssa_var, bool is_use)
 #endif
 
   version = SSA_NAME_VERSION (ssa_var);
-  if (is_use && map->ref_count)
-    map->ref_count[version]++;
-
   if (map->partition_to_var[version] == NULL_TREE)
     map->partition_to_var[SSA_NAME_VERSION (ssa_var)] = ssa_var;
 }
@@ -551,120 +532,6 @@ root_var_decompact (root_var_p rv)
 }
 
 
-/* A TYPE_VAR object is similar to a root_var object, except this associates 
-   partitions with their type rather than their root variable.  This is used to 
-   coalesce memory locations based on type.  */
-
-typedef tpa_p type_var_p;
-
-static inline tree type_var (type_var_p, int);
-static inline int type_var_first_partition (type_var_p, int);
-static inline int type_var_next_partition (type_var_p, int);
-static inline int type_var_num (type_var_p);
-static inline void type_var_dump (FILE *, type_var_p);
-static inline void type_var_remove_partition (type_var_p, int, int);
-static inline void type_var_delete (type_var_p);
-static inline int type_var_find (type_var_p, int);
-static inline int type_var_compact (type_var_p);
-static inline void type_var_decompact (type_var_p);
-
-extern type_var_p type_var_init (var_map);
-
-/* Value returned when there is no partitions associated with a list.  */
-#define TYPE_VAR_NONE          TPA_NONE
-
-
-/* Return the number of distinct type lists in TV.  */
-
-static inline int 
-type_var_num (type_var_p tv)
-{
-  return tpa_num_trees (tv);
-}
-
-
-/* Return the type of list I in TV.  */
-
-static inline tree
-type_var (type_var_p tv, int i)
-{
-  return tpa_tree (tv, i);
-}
-
-
-/* Return the first partition belonging to type list I in TV.  */
-
-static inline int
-type_var_first_partition (type_var_p tv, int i)
-{
-  return tpa_first_partition (tv, i);
-}
-
-
-/* Return the next partition after partition I in a type list within TV.  */
-
-static inline int
-type_var_next_partition (type_var_p tv, int i)
-{
-  return tpa_next_partition (tv, i);
-}
-
-
-/* Send debug info for type_var object TV to file F.  */
-
-static inline void
-type_var_dump (FILE *f, type_var_p tv)
-{
-  fprintf (f, "\nType Var dump\n");
-  tpa_dump (f, tv);
-  fprintf (f, "\n");
-}
-
-
-/* Delete type_var object TV.  */
-
-static inline void
-type_var_delete (type_var_p tv)
-{
-  tpa_delete (tv);
-}
-
-
-/* Remove partition PARTITION_INDEX from type list TYPE_INDEX in TV.  */
-
-static inline void
-type_var_remove_partition (type_var_p tv, int type_index, int partition_index)
-{
-  tpa_remove_partition (tv, type_index, partition_index);
-}
-
-
-/* Return the type index in TV for the list partition I is in.  */
-
-static inline int
-type_var_find (type_var_p tv, int i)
-{
-  return tpa_find_tree (tv, i);
-}
-
-
-/* Hide single element lists in TV.  */
-
-static inline int 
-type_var_compact (type_var_p tv)
-{
-  return tpa_compact (tv);
-}
-
-
-/* Expose single element lists in TV.  */
-
-static inline void
-type_var_decompact (type_var_p tv)
-{
-  tpa_decompact (tv);
-}
-
 /* This set of routines implements a coalesce_list. This is an object which
    is used to track pairs of partitions which are desirable to coalesce
    together at some point.  Costs are associated with each pair, and when