diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-09-11 12:31:40 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-09-11 12:31:40 +0000 |
commit | 8b3949ab707ec35a8cb67488d1277297ade57d5d (patch) | |
tree | 296c5e6ccfe4c678c2b699ec0b3231ebade31b29 /gcc | |
parent | 1046ee052f6c540dffa07341eef3bcf6debd27f8 (diff) | |
download | gcc-8b3949ab707ec35a8cb67488d1277297ade57d5d.tar.gz |
* function.c (free_after_compilation): Call insn_locators_free.
* cfglayout.c (insn_locators_free): New function.
* rtl.h (insn_locators_free): Declare.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140279 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cfglayout.c | 13 | ||||
-rw-r--r-- | gcc/function.c | 1 | ||||
-rw-r--r-- | gcc/rtl.h | 1 |
4 files changed, 21 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 12eb46c9392..6eb9c860667 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ 2008-09-11 Jan Hubicka <jh@suse.cz> + * function.c (free_after_compilation): Call insn_locators_free. + * cfglayout.c (insn_locators_free): New function. + * rtl.h (insn_locators_free): Declare. + +2008-09-11 Jan Hubicka <jh@suse.cz> + * ifcvt.c (check_cond_move_block): Make regs argument pointer to vector pointer. (cond_move_process_if_block): Update call. diff --git a/gcc/cfglayout.c b/gcc/cfglayout.c index e4049d66465..b4ca49f4324 100644 --- a/gcc/cfglayout.c +++ b/gcc/cfglayout.c @@ -271,6 +271,19 @@ insn_locators_finalize (void) curr_rtl_loc = -1; } +/* Allocate insn locator datastructure. */ +void +insn_locators_free (void) +{ + prologue_locator = epilogue_locator = 0; + + VEC_free (int, heap, block_locators_locs); + VEC_free (tree,gc, block_locators_blocks); + VEC_free (int, heap, locations_locators_locs); + VEC_free (location_t, heap, locations_locators_vals); +} + + /* Set current location. */ void set_curr_insn_source_location (location_t location) diff --git a/gcc/function.c b/gcc/function.c index 7cff9002014..412e6fa9af0 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -286,6 +286,7 @@ free_after_compilation (struct function *f) f->cfg = NULL; regno_reg_rtx = NULL; + insn_locators_free (); } /* Return size needed for stack frame based on slots so far allocated. diff --git a/gcc/rtl.h b/gcc/rtl.h index 5d2e793e2dc..fd855e9c650 100644 --- a/gcc/rtl.h +++ b/gcc/rtl.h @@ -2357,6 +2357,7 @@ extern const struct rtl_hooks general_rtl_hooks; #define gen_lowpart rtl_hooks.gen_lowpart extern void insn_locators_alloc (void); +extern void insn_locators_free (void); extern void insn_locators_finalize (void); extern void set_curr_insn_source_location (location_t); extern void set_curr_insn_block (tree); |