From 8c316ae21c35468696948951be572bc9a694ad57 Mon Sep 17 00:00:00 2001 From: Jeffrey A Law Date: Fri, 31 Oct 1997 14:08:40 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/global.c | 8 +++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 540f17f3a11..bf224c63b93 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 * libgcc2.c (L_eh): Define __eh_pc. diff --git a/gcc/global.c b/gcc/global.c index 0480ebf3c4d..87acccb6319 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. -- 2.30.2