diff options
author | Jan Hubicka <jh@suse.cz> | 2008-09-11 14:31:40 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2008-09-11 12:31:40 +0000 |
commit | 825b2fe7a8e44594639db3d40253bd41380e05dc (patch) | |
tree | 296c5e6ccfe4c678c2b699ec0b3231ebade31b29 | |
parent | 11e0edad1f0ad67099daee3275ae095107352f9a (diff) | |
download | gcc-825b2fe7a8e44594639db3d40253bd41380e05dc.zip gcc-825b2fe7a8e44594639db3d40253bd41380e05dc.tar.gz gcc-825b2fe7a8e44594639db3d40253bd41380e05dc.tar.bz2 |
function.c (free_after_compilation): Call insn_locators_free.
* function.c (free_after_compilation): Call insn_locators_free.
* cfglayout.c (insn_locators_free): New function.
* rtl.h (insn_locators_free): Declare.
From-SVN: r140279
-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 12eb46c..6eb9c86 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 e4049d6..b4ca49f 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 7cff900..412e6fa 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. @@ -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); |