diff options
author | Jeffrey A Law <law@cygnus.com> | 1997-10-31 14:08:40 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1997-10-31 07:08:40 -0700 |
commit | 8c316ae21c35468696948951be572bc9a694ad57 (patch) | |
tree | a325c410b9eceef699ee9d3da81502c7c98c9757 | |
parent | 6874c2647b322a34cd25c74c2cf2d0b374683df7 (diff) | |
download | gcc-8c316ae21c35468696948951be572bc9a694ad57.zip gcc-8c316ae21c35468696948951be572bc9a694ad57.tar.gz gcc-8c316ae21c35468696948951be572bc9a694ad57.tar.bz2 |
global.c (global_alloc): Free the conflict matrix after reload has finished.
* global.c (global_alloc): Free the conflict matrix after
reload has finished.
From-SVN: r16249
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/global.c | 8 |
2 files changed, 10 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 540f17f..bf224c6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Fri Oct 31 07:10:09 1997 Jeffrey A Law (law@cygnus.com) + + * global.c (global_alloc): Free the conflict matrix after + reload has finished. + Fri Oct 31 01:45:31 1997 Jason Merrill <jason@yorick.cygnus.com> * libgcc2.c (L_eh): Define __eh_pc. diff --git a/gcc/global.c b/gcc/global.c index 0480ebf..87acccb 100644 --- a/gcc/global.c +++ b/gcc/global.c @@ -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. |