diff options
Diffstat (limited to 'gcc/ira.c')
-rw-r--r-- | gcc/ira.c | 20 |
1 files changed, 11 insertions, 9 deletions
@@ -515,8 +515,10 @@ setup_class_subset_and_memory_move_costs (void) if (cl != (int) NO_REGS) for (mode = 0; mode < MAX_MACHINE_MODE; mode++) { - ira_memory_move_cost[mode][cl][0] = MEMORY_MOVE_COST (mode, cl, 0); - ira_memory_move_cost[mode][cl][1] = MEMORY_MOVE_COST (mode, cl, 1); + ira_memory_move_cost[mode][cl][0] = + MEMORY_MOVE_COST (mode, (enum reg_class) cl, 0); + ira_memory_move_cost[mode][cl][1] = + MEMORY_MOVE_COST (mode, (enum reg_class) cl, 1); /* Costs for NO_REGS are used in cost calculation on the 1st pass when the preferred register classes are not known yet. In this case we take the best scenario. */ @@ -981,8 +983,8 @@ setup_reg_class_relations (void) if (cl3 == LIM_REG_CLASSES) break; if (reg_class_subset_p (ira_reg_class_intersect[cl1][cl2], - cl3)) - ira_reg_class_intersect[cl1][cl2] = cl3; + (enum reg_class) cl3)) + ira_reg_class_intersect[cl1][cl2] = (enum reg_class) cl3; } ira_reg_class_union[cl1][cl2] = reg_class_subunion[cl1][cl2]; continue; @@ -1133,14 +1135,14 @@ int ira_max_nregs; static void setup_reg_class_nregs (void) { - int m; - enum reg_class cl; + int cl, m; ira_max_nregs = -1; for (cl = 0; cl < N_REG_CLASSES; cl++) for (m = 0; m < MAX_MACHINE_MODE; m++) { - ira_reg_class_nregs[cl][m] = CLASS_MAX_NREGS (cl, m); + ira_reg_class_nregs[cl][m] = CLASS_MAX_NREGS ((enum reg_class) cl, + (enum machine_mode) m); if (ira_max_nregs < ira_reg_class_nregs[cl][m]) ira_max_nregs = ira_reg_class_nregs[cl][m]; } @@ -1169,7 +1171,7 @@ setup_prohibited_class_mode_regs (void) for (k = ira_class_hard_regs_num[cl] - 1; k >= 0; k--) { hard_regno = ira_class_hard_regs[cl][k]; - if (! HARD_REGNO_MODE_OK (hard_regno, j)) + if (! HARD_REGNO_MODE_OK (hard_regno, (enum machine_mode) j)) SET_HARD_REG_BIT (prohibited_class_mode_regs[cl][j], hard_regno); } @@ -1306,7 +1308,7 @@ setup_prohibited_mode_move_regs (void) SET_HARD_REG_SET (ira_prohibited_mode_move_regs[i]); for (j = 0; j < FIRST_PSEUDO_REGISTER; j++) { - if (! HARD_REGNO_MODE_OK (j, i)) + if (! HARD_REGNO_MODE_OK (j, (enum machine_mode) i)) continue; SET_REGNO (test_reg1, j); PUT_MODE (test_reg1, i); |