OSDN Git Service

* global.c (global_alloc): Free the conflict matrix after
[pf3gnuchains/gcc-fork.git] / gcc / global.c
index 0480ebf..87acccb 100644 (file)
@@ -277,6 +277,7 @@ int
 global_alloc (file)
      FILE *file;
 {
+  int retval;
 #ifdef ELIMINABLE_REGS
   static struct {int from, to; } eliminables[] = ELIMINABLE_REGS;
 #endif
@@ -573,8 +574,6 @@ global_alloc (file)
          }
     }
 
-  free (conflicts);
-
   /* Do the reloads now while the allocno data still exist, so that we can
      try to assign new hard regs to any pseudo regs that are spilled.  */
 
@@ -582,7 +581,10 @@ global_alloc (file)
         for the sake of debugging information.  */
   if (n_basic_blocks > 0)
 #endif
-    return reload (get_insns (), 1, file);
+    retval = reload (get_insns (), 1, file);
+
+  free (conflicts);
+  return retval;
 }
 
 /* Sort predicate for ordering the allocnos.