Lines Matching defs:rclass
122 small_register_class_p (reg_class_t rclass)
124 return (reg_class_size [(int) rclass] == 1
125 || (reg_class_size [(int) rclass] >= 1
126 && targetm.class_likely_spilled_p (rclass)));
320 enum reg_class rclass = NO_REGS;
360 rclass = (enum reg_class) targetm.secondary_reload (in_p, x, reload_class,
365 if (rclass == NO_REGS && icode == CODE_FOR_nothing)
368 if (rclass != NO_REGS)
369 t_reload = push_secondary_reload (in_p, x, opnum, optional, rclass,
391 gcc_assert (rclass == NO_REGS);
401 rclass = scratch_class;
419 gcc_assert (!in_p || rclass != reload_class || icode != CODE_FOR_nothing
425 && (reg_class_subset_p (rclass, rld[s_reload].rclass)
426 rclass, rclass))
433 && (small_register_class_p (rclass)
443 if (reg_class_subset_p (rclass, rld[s_reload].rclass))
444 rld[s_reload].rclass = rclass;
464 && targetm.secondary_memory_needed (mode, rclass, reload_class))
475 rld[s_reload].rclass = rclass;
498 && targetm.secondary_memory_needed (mode, reload_class, rclass))
510 secondary_reload_class (bool in_p, reg_class_t rclass, machine_mode mode,
518 rclass
519 = (enum reg_class) targetm.secondary_reload (in_p, x, rclass, mode, &sri);
524 if (icode == CODE_FOR_nothing || rclass != NO_REGS)
525 return rclass;
541 enum reg_class rclass;
549 rclass = reg_class_for_constraint (lookup_constraint (scratch_constraint));
550 gcc_assert (rclass != NO_REGS);
551 return rclass;
645 int rclass;
652 for (rclass = 1; rclass < N_REG_CLASSES; rclass++)
657 if (TEST_HARD_REG_BIT (reg_class_contents[rclass], regno))
662 if (TEST_HARD_REG_BIT (reg_class_contents[rclass], regno + n)
670 cost = register_move_cost (outer, (enum reg_class) rclass, dest_class);
672 if ((reg_class_size[rclass] > best_size
676 best_class = (enum reg_class) rclass;
677 best_size = reg_class_size[rclass];
678 best_cost = register_move_cost (outer, (enum reg_class) rclass,
699 int rclass;
705 for (rclass = 1; rclass < N_REG_CLASSES; rclass++)
711 if (in_hard_reg_set_p (reg_class_contents[rclass], mode, regno)
716 cost = register_move_cost (outer, (enum reg_class) rclass, dest_class);
722 best_class = (enum reg_class) rclass;
724 best_cost = register_move_cost (outer, (enum reg_class) rclass,
740 OUT, RCLASS, TYPE and OPNUM are the same arguments as passed to
747 find_reusable_reload (rtx *p_in, rtx out, enum reg_class rclass,
768 if ((reg_class_subset_p (rclass, rld[i].rclass)
769 || reg_class_subset_p (rld[i].rclass, rclass))
772 || TEST_HARD_REG_BIT (reg_class_contents[(int) rclass],
779 && (small_register_class_p (rclass)
790 if ((reg_class_subset_p (rclass, rld[i].rclass)
791 || reg_class_subset_p (rld[i].rclass, rclass))
795 || TEST_HARD_REG_BIT (reg_class_contents[(int) rclass],
805 && (small_register_class_p (rclass)
943 RCLASS is a register class required for the reloaded data.
969 enum reg_class rclass, machine_mode inmode,
1078 inmode, rclass)
1079 && contains_allocatable_reg_of_mode[rclass][GET_MODE (SUBREG_REG (in))]
1112 || (secondary_reload_class (1, rclass, inmode, in) != NO_REGS
1113 && (secondary_reload_class (1, rclass,
1174 rclass);
1195 outmode, rclass)
1196 && contains_allocatable_reg_of_mode[rclass][GET_MODE (SUBREG_REG (out))]
1217 || (secondary_reload_class (0, rclass, outmode, out) != NO_REGS
1218 && (secondary_reload_class (0, rclass, GET_MODE (SUBREG_REG (out)),
1290 reg_class_t preferred_class = rclass;
1293 preferred_class = targetm.preferred_reload_class (in, rclass);
1303 rclass = (enum reg_class) preferred_class;
1312 rclass = LIMIT_RELOAD_CLASS (inmode, rclass);
1314 rclass = LIMIT_RELOAD_CLASS (GET_MODE (SUBREG_REG (in)), rclass);
1317 rclass = LIMIT_RELOAD_CLASS (outmode, rclass);
1319 rclass = LIMIT_RELOAD_CLASS (GET_MODE (SUBREG_REG (out)), rclass);
1343 && in_hard_reg_set_p (reg_class_contents[(int) rclass], mode, i))
1368 gcc_assert (rclass != NO_REGS
1371 i = find_reusable_reload (&in, out, rclass, type, opnum, dont_share);
1381 = push_secondary_reload (1, in, opnum, optional, rclass, inmode, type,
1385 = push_secondary_reload (0, out, opnum, optional, rclass, outmode,
1399 && targetm.secondary_memory_needed (inmode, subreg_in_class, rclass))
1405 rld[i].rclass = rclass;
1429 (outmode, rclass, REGNO_REG_CLASS (reg_or_subregno (out)))))
1508 if (reg_class_subset_p (rclass, rld[i].rclass))
1509 rld[i].rclass = rclass;
1558 rld[i].rclass, i,
1636 || ! TEST_HARD_REG_BIT (reg_class_contents[(int) rclass],
1807 && (ira_reg_class_max_nregs [(int)rld[i].rclass][(int) rld[i].inmode]
1808 == ira_reg_class_max_nregs [(int) rld[output_reload].rclass]
1819 ? (rld[i].rclass == rld[output_reload].rclass)
1820 : (reg_class_subset_p (rld[i].rclass,
1821 rld[output_reload].rclass)
1822 || reg_class_subset_p (rld[output_reload].rclass,
1823 rld[i].rclass)))
1841 && (reg_class_size[(int) rld[i].rclass]
1872 if (reg_class_subset_p (rld[output_reload].rclass,
1873 rld[i].rclass))
1874 rld[i].rclass = rld[output_reload].rclass;
1908 && TEST_HARD_REG_BIT (reg_class_contents[(int) rld[output_reload].rclass],
1916 (reg_class_contents[(int) rld[secondary_out].rclass], regno))
1919 (reg_class_contents[(int) rld[secondary_out].rclass],
1941 RCLASS is the register class required for the reload.
1958 reg_class_t rclass, int for_real, int earlyclobber)
2001 reg_class_t preferred_class = targetm.preferred_reload_class (in, rclass);
2003 rclass = (enum reg_class) preferred_class;
2039 if (! TEST_HARD_REG_BIT (reg_class_contents[(int) rclass],
2108 if (! TEST_HARD_REG_BIT (reg_class_contents[(int) rclass],
4315 = find_equiv_reg (rld[i].in, insn, rld[i].rclass, -1,
4631 && rld[i].rclass == rld[j].rclass
4648 rld[i].nregs = ira_reg_class_max_nregs [rld[i].rclass][rld[i].mode];
4665 && TEST_HARD_REG_BIT (reg_class_contents[rld[i].rclass], regno)
4672 if (! TEST_HARD_REG_BIT (reg_class_contents[rld[i].rclass], regno + nri))
6095 enum reg_class rclass = context_reg_class;
6096 if (ira_reg_class_max_nregs [rclass][GET_MODE (SUBREG_REG (x))]
6097 > reg_class_size[(int) rclass])
6112 push_reload (tem, NULL_RTX, loc, (rtx*) 0, rclass,
6120 push_reload (x, NULL_RTX, loc, (rtx*) 0, rclass,
6154 reloaded into a register of class RCLASS. If X is a constant, or if
6169 find_reloads_address_part (rtx x, rtx *loc, enum reg_class rclass,
6175 || targetm.preferred_reload_class (x, rclass) == NO_REGS))
6185 || targetm.preferred_reload_class (XEXP (x, 1), rclass)
6196 push_reload (x, NULL_RTX, loc, (rtx*) 0, rclass,
6731 If OTHER is -1, look for a register in class RCLASS.
6757 find_equiv_reg (rtx goal, rtx_insn *insn, enum reg_class rclass, int other,
6914 else if (!in_hard_reg_set_p (reg_class_contents[(int) rclass],
7384 fprintf (f, "%s, ", reg_class_names[(int) rld[r].rclass]);