This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PING][PATCH] Remove enum reg_class from rtl.h
- From: Anatoly Sokolov <aesok at post dot ru>
- To: Anatoly Sokolov <aesok at post dot ru>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Mon, 1 Nov 2010 23:11:04 +0300
- Subject: [PING][PATCH] Remove enum reg_class from rtl.h
- References: <1694217376.20101028005328@post.ru>
Hello.
> This patch change enum reg_class to reg_class_t type in function
> declaration in rtl.h. This should allow reduce dependency middle end *.c
> files from tm.h, when tm.h need to supply enum reg_class type for rtl.h only
> (for example c-parser.c).
http://gcc.gnu.org/ml/gcc-patches/2010-10/msg02374.html
* reginfo.c (setup_reg_classes, invalid_mode_change_p): Change
arguments type from enum reg_class to reg_class_t.
(reg_preferred_class, reg_alternate_class, reg_cover_class): Change
result type from enum reg_class to reg_class_t.
(struct reg_pref): Change prefclass, altclass and coverclass records
type from char to reg_class_t.
* rtl.h (reg_preferred_class, reg_alternate_class, reg_cover_class,
setup_reg_classes, invalid_mode_change_p): Update prototype.
* cfg.c (dump_reg_info): Change rclass and altclass variables type
from enum reg_class to reg_class_t.
* ira-build.c (update_conflict_hard_reg_costs): Change cover_class
and pref variables type from enum reg_class to reg_class_t.
(ira_allocate_cost_vector, ira_free_cost_vector): Change cover_class
argument type from enum reg_class to reg_class_t.
* ira-int.h (ira_allocate_and_set_costs): Change cover_class argument
type from enum reg_class to reg_class_t.
(ira_allocate_cost_vector, ira_free_cost_vector): Update prototupe.
* ira-costs.c (find_costs_and_classes): Cast value returned by
reg_preferred_class to enum reg_class. Change rclass variable type
from int to reg_class_t.
(print_allocno_costs, print_pseudo_costs): Change rclass variable
type from int to reg_class_t.
* ira.c (ira_bad_reload_regno_1): Use REG_P and HARD_REGISTER_NUM_P
predicates. Change pref variable type from enum reg_class to
reg_class_t.
* regmove.c (regmove_backward_pass): Change src_class and dst_class
variables type from enum reg_class to reg_class_t.
* reload.c (find_reloads): Change preferred_class array and tclass
variable type from enum reg_class to reg_class_t.
* haifa-sched.c (sched_regno_cover_class): Change type to
reg_class_t *.
(mark_regno_birth_or_death): Change cover_class variable type
from enum reg_class to reg_class_t. Use HARD_REGISTER_NUM_P
predicate.
(setup_insn_reg_pressure_info): Change cl variable type
from enum reg_class to reg_class_t. Use HARD_REGISTER_NUM_P
predicate.
(sched_init): Change sched_regno_cover_class type to reg_class_t.
Use HARD_REGISTER_NUM_P predicate.
* sched-int.h (sched_regno_cover_class): Change type to
reg_class_t *.
* sched-deps.c (mark_insn_pseudo_birth, mark_insn_hard_regno_birth,
mark_pseudo_death, mark_hard_regno_death): Change cl variable type
from enum reg_class to reg_class_t. Use HARD_REGISTER_NUM_P
predicate.
* loop-invariant.c (get_inv_cost, change_pressure,
calculate_loop_reg_pressure): Change cover_class variable type
from enum reg_class to reg_class_t.
(get_cover_class_and_nregs, get_regno_cover_class): Change result and
cover_class variable types from enum reg_class to reg_class_t.
Anatoly.