diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2010-07-12 19:03:15 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2010-07-12 19:03:15 +0000 |
commit | aa1c5d72e9cb30ddea2f930b6f94045dd8f2dcbc (patch) | |
tree | ed1e21f22d705875935767c123667b9066177bd7 /gcc/ira-int.h | |
parent | afcc66c49afbb6e971a70f503b96d1fd1a41f7c5 (diff) | |
download | gcc-aa1c5d72e9cb30ddea2f930b6f94045dd8f2dcbc.zip gcc-aa1c5d72e9cb30ddea2f930b6f94045dd8f2dcbc.tar.gz gcc-aa1c5d72e9cb30ddea2f930b6f94045dd8f2dcbc.tar.bz2 |
ira-int.h (target_ira_int): Add x_max_struct_costs_size...
gcc/
* ira-int.h (target_ira_int): Add x_max_struct_costs_size, x_init_cost,
x_temp_costs, x_op_costs, x_this_op_costs and x_cost_classes.
* ira-costs.c (max_struct_costs_size, init_cost, temp_costs, op_costs)
(this_op_costs, costs_classes): Redefine as macros.
(record_reg_classes): Don't take op_costs as a parameter.
(record_operand_costs): Likewise. Update calls to record_reg_classes.
(scan_one_insn): Update call to record_operand_costs.
From-SVN: r162103
Diffstat (limited to 'gcc/ira-int.h')
-rw-r--r-- | gcc/ira-int.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/gcc/ira-int.h b/gcc/ira-int.h index 8c53770..f32c22b 100644 --- a/gcc/ira-int.h +++ b/gcc/ira-int.h @@ -715,6 +715,26 @@ minmax_set_iter_next (minmax_set_iterator *i) minmax_set_iter_next (&(ITER))) struct target_ira_int { + /* Initialized once. It is a maximal possible size of the allocated + struct costs. */ + int x_max_struct_costs_size; + + /* Allocated and initialized once, and used to initialize cost values + for each insn. */ + struct costs *x_init_cost; + + /* Allocated once, and used for temporary purposes. */ + struct costs *x_temp_costs; + + /* Allocated once, and used for the cost calculation. */ + struct costs *x_op_costs[MAX_RECOG_OPERANDS]; + struct costs *x_this_op_costs[MAX_RECOG_OPERANDS]; + + /* Classes used for cost calculation. They may be different on + different iterations of the cost calculations or in different + optimization modes. */ + enum reg_class *x_cost_classes; + /* Hard registers that can not be used for the register allocator for all functions of the current compilation unit. */ HARD_REG_SET x_no_unit_alloc_regs; |