summaryrefslogtreecommitdiff
path: root/gcc/target-globals.c
diff options
context:
space:
mode:
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2014-09-22 07:38:12 +0000
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2014-09-22 07:38:12 +0000
commit18d9a6142b44d7a83ee7684d07a9b722cdc7bbbc (patch)
treec22e285369e1c4471ca4321ef553f4227182b181 /gcc/target-globals.c
parentb46f680981be1a5455fea46342cc0cc6f6073daa (diff)
downloadgcc-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.c1
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);