diff options
author | Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | 2016-07-13 02:44:28 +0000 |
---|---|---|
committer | Trevor Saunders <tbsaunde@gcc.gnu.org> | 2016-07-13 02:44:28 +0000 |
commit | 4a5a779a59456b83c3f75b09a54d845c540ef1c0 (patch) | |
tree | ad9fe4e1f949cac9dee148e104d8da98e837e281 /gcc | |
parent | 06dc18b33ed6c755ea37c9a25da395cace5d3a3e (diff) | |
download | gcc-4a5a779a59456b83c3f75b09a54d845c540ef1c0.zip gcc-4a5a779a59456b83c3f75b09a54d845c540ef1c0.tar.gz gcc-4a5a779a59456b83c3f75b09a54d845c540ef1c0.tar.bz2 |
ree.c: use auto_vec in ext_state
gcc/ChangeLog:
2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* ree.c (struct ext_state): Make type of members auto_vec.
(find_and_remove_re): Adjust.
From-SVN: r238283
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ree.c | 19 |
2 files changed, 11 insertions, 13 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7882dbfb..ebf64ca 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> + * ree.c (struct ext_state): Make type of members auto_vec. + (find_and_remove_re): Adjust. + +2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> + * cfgexpand.c (struct stack_vars_data): Make type of fields auto_vec. (expand_used_vars): Adjust. @@ -544,10 +544,10 @@ struct ext_state /* In order to avoid constant alloc/free, we keep these 4 vectors live through the entire find_and_remove_re and just truncate them each time. */ - vec<rtx_insn *> defs_list; - vec<rtx_insn *> copies_list; - vec<rtx_insn *> modified_list; - vec<rtx_insn *> work_list; + auto_vec<rtx_insn *> defs_list; + auto_vec<rtx_insn *> copies_list; + auto_vec<rtx_insn *> modified_list; + auto_vec<rtx_insn *> work_list; /* For instructions that have been successfully modified, this is the original mode from which the insn is extending and @@ -1147,7 +1147,6 @@ find_and_remove_re (void) vec<ext_cand> reinsn_list; auto_vec<rtx_insn *> reinsn_del_list; auto_vec<rtx_insn *> reinsn_copy_list; - ext_state state; /* Construct DU chain to get all reaching definitions of each extension instruction. */ @@ -1159,10 +1158,8 @@ find_and_remove_re (void) max_insn_uid = get_max_uid (); reinsn_list = find_removable_extensions (); - state.defs_list.create (0); - state.copies_list.create (0); - state.modified_list.create (0); - state.work_list.create (0); + + ext_state state; if (reinsn_list.is_empty ()) state.modified = NULL; else @@ -1238,10 +1235,6 @@ find_and_remove_re (void) delete_insn (curr_insn); reinsn_list.release (); - state.defs_list.release (); - state.copies_list.release (); - state.modified_list.release (); - state.work_list.release (); XDELETEVEC (state.modified); if (dump_file && num_re_opportunities > 0) |