/* kill the Reload */
if (get_irn_n_edges(irn) == 0) {
+ ir_graph *irg = get_irn_irg(irn);
sched_remove(irn);
- set_irn_n(irn, be_pos_Reload_mem, new_Bad());
- set_irn_n(irn, be_pos_Reload_frame, new_Bad());
+ set_irn_n(irn, be_pos_Reload_mem, new_r_Bad(irg));
+ set_irn_n(irn, be_pos_Reload_frame, new_r_Bad(irg));
}
}
*/
static void post_spill(post_spill_env_t *pse, int iteration)
{
- be_chordal_env_t *chordal_env = &pse->cenv;
- ir_graph *irg = pse->irg;
- ir_exec_freq *exec_freq = be_get_irg_exec_freq(irg);
- int colors_n = arch_register_class_n_regs(chordal_env->cls);
- int allocatable_regs
+ be_chordal_env_t *chordal_env = &pse->cenv;
+ ir_graph *irg = pse->irg;
+ ir_exec_freq *exec_freq = be_get_irg_exec_freq(irg);
+ int colors_n = arch_register_class_n_regs(chordal_env->cls);
+ int allocatable_regs
= colors_n - be_put_ignore_regs(irg, chordal_env->cls, NULL);
/* some special classes contain only ignore regs, no work to be done */
/* use one of the generic spiller */
/* Perform the following for each register class. */
- for (j = 0, m = arch_env_get_n_reg_class(arch_env); j < m; ++j) {
+ for (j = 0, m = arch_env->n_register_classes; j < m; ++j) {
post_spill_env_t pse;
- const arch_register_class_t *cls
- = arch_env_get_reg_class(arch_env, j);
+ const arch_register_class_t *cls = &arch_env->register_classes[j];
if (arch_register_class_flags(cls) & arch_register_class_flag_manual_ra)
continue;