diff options
author | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-09-22 07:38:12 +0000 |
---|---|---|
committer | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-09-22 07:38:12 +0000 |
commit | 18d9a6142b44d7a83ee7684d07a9b722cdc7bbbc (patch) | |
tree | c22e285369e1c4471ca4321ef553f4227182b181 /gcc/target-globals.c | |
parent | b46f680981be1a5455fea46342cc0cc6f6073daa (diff) | |
download | gcc-18d9a6142b44d7a83ee7684d07a9b722cdc7bbbc.tar.gz |
gcc/
* hard-reg-set.h: Include hash-table.h.
(target_hard_regs): Add a finalize method and a x_simplifiable_subregs
field.
* target-globals.c (target_globals::~target_globals): Call
hard_regs->finalize.
* rtl.h (subreg_shape): New structure.
(shape_of_subreg): New function.
(simplifiable_subregs): Declare.
* reginfo.c (simplifiable_subreg): New structure.
(simplifiable_subregs_hasher): Likewise.
(simplifiable_subregs): New function.
(invalid_mode_changes): Delete.
(alid_mode_changes, valid_mode_changes_obstack): New variables.
(record_subregs_of_mode): Remove subregs_of_mode parameter.
Record valid mode changes in valid_mode_changes.
(find_subregs_of_mode): Remove subregs_of_mode parameter.
Update calls to record_subregs_of_mode.
(init_subregs_of_mode): Remove invalid_mode_changes and bitmap
handling. Initialize new variables. Update call to
find_subregs_of_mode.
(invalid_mode_change_p): Check new variables instead of
invalid_mode_changes.
(finish_subregs_of_mode): Finalize new variables instead of
invalid_mode_changes.
(target_hard_regs::finalize): New function.
* ira-costs.c (print_allocno_costs): Call invalid_mode_change_p
even when CLASS_CANNOT_CHANGE_MODE is undefined.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215449 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/target-globals.c')
-rw-r--r-- | gcc/target-globals.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/target-globals.c b/gcc/target-globals.c index 43f9f4a0bb1..52ac2c02dfc 100644 --- a/gcc/target-globals.c +++ b/gcc/target-globals.c @@ -125,6 +125,7 @@ target_globals::~target_globals () /* default_target_globals points to static data so shouldn't be freed. */ if (this != &default_target_globals) { + hard_regs->finalize (); XDELETE (flag_state); XDELETE (regs); XDELETE (recog); |