Lines Matching refs:qty

91 struct qty
124 /* Number of times a reg tied to given qty lives across a CALL_INSN. */
128 /* Number of times a reg tied to given qty lives across a CALL_INSN
145 /* Register class within which we allocate given qty if we can't get
150 /* This holds the mode of the registers that are tied to given qty,
161 static struct qty *qty;
193 end of the chain. qty->first_reg point to the head of this chain. */
197 /* reg_qty[N] (where N is a pseudo reg number) is the qty number of that reg
330 qty[qtyno].first_reg = regno;
331 qty[qtyno].size = size;
332 qty[qtyno].mode = mode;
333 qty[qtyno].birth = birth;
334 qty[qtyno].n_calls_crossed = REG_N_CALLS_CROSSED (regno);
335 qty[qtyno].n_throwing_calls_crossed = REG_N_THROWING_CALLS_CROSSED (regno);
336 qty[qtyno].min_class = reg_preferred_class (regno);
337 qty[qtyno].alternate_class = reg_alternate_class (regno);
338 qty[qtyno].n_refs = REG_N_REFS (regno);
339 qty[qtyno].freq = REG_FREQ (regno);
375 qty = XNEWVEC (struct qty, max_qty);
440 free (qty);
1502 This register's qty should not be "killed". */
1523 /* Allocate qty numbers for all registers local to this block
1525 A pseudo that already has a qty is not changed. */
1610 qty[q].phys_reg = find_free_reg (qty[q].min_class, qty[q].mode, q,
1611 0, 1, qty[q].birth, qty[q].death);
1613 qty[q].phys_reg = -1;
1652 /* Now for each qty that is not a hardware register,
1654 First try the register class that is cheapest for this qty,
1660 if (qty[q].phys_reg < 0)
1663 /* These values represent the adjusted lifetime of a qty so
1665 of this qty's lifetime.
1667 The purpose behind extending the lifetime of this qty is to
1671 The adjustment value is chosen to indicate that this qty
1673 before and after the lifetime of this qty.
1679 again with the qty's unadjusted lifetime. */
1680 int fake_birth = MAX (0, qty[q].birth - 2 + qty[q].birth % 2);
1682 qty[q].death + 2 - qty[q].death % 2);
1689 are born immediately after this qty or die immediately before
1690 this qty.
1699 qty[q].phys_reg = find_free_reg (qty[q].min_class,
1700 qty[q].mode, q, 0, 0,
1702 if (qty[q].phys_reg >= 0)
1706 qty[q].phys_reg = find_free_reg (qty[q].min_class,
1707 qty[q].mode, q, 0, 0,
1708 qty[q].birth, qty[q].death);
1709 if (qty[q].phys_reg >= 0)
1718 && qty[q].alternate_class != NO_REGS)
1719 qty[q].phys_reg = find_free_reg (qty[q].alternate_class,
1720 qty[q].mode, q, 0, 0,
1723 if (qty[q].alternate_class != NO_REGS)
1724 qty[q].phys_reg = find_free_reg (qty[q].alternate_class,
1725 qty[q].mode, q, 0, 0,
1726 qty[q].birth, qty[q].death);
1734 if (qty[q].phys_reg >= 0)
1736 for (i = qty[q].first_reg; i >= 0; i = reg_next_in_qty[i])
1737 reg_renumber[i] = qty[q].phys_reg + reg_offset[i];
1764 ((int) (((double) (floor_log2 (qty[q].n_refs) * qty[q].freq * qty[q].size) \
1765 / (qty[q].death - qty[q].birth)) * (10000 / REG_FREQ_MAX)))
1782 /* If qtys are equally good, sort by qty number,
1824 /* If qtys are equally good, sort by qty number,
1944 && usize < qty[reg_qty[ureg]].size)
2028 && reg_meets_class_p (sreg, qty[reg_qty[ureg]].min_class))
2034 reg_next_in_qty[sreg] = qty[sqty].first_reg;
2035 qty[sqty].first_reg = sreg;
2037 /* If SREG's reg class is smaller, set qty[SQTY].min_class. */
2041 qty[sqty].n_calls_crossed += REG_N_CALLS_CROSSED (sreg);
2042 qty[sqty].n_throwing_calls_crossed
2044 qty[sqty].n_refs += REG_N_REFS (sreg);
2045 qty[sqty].freq += REG_FREQ (sreg);
2050 for (i = qty[sqty].first_reg; i >= 0; i = reg_next_in_qty[i])
2053 qty[sqty].size = ssize;
2054 qty[sqty].mode = GET_MODE (setreg);
2082 if (reg_class_subset_p (rclass, qty[qtyno].min_class))
2083 qty[qtyno].min_class = rclass;
2086 if (reg_class_subset_p (rclass, qty[qtyno].alternate_class))
2087 qty[qtyno].alternate_class = rclass;
2151 qty[reg_qty[regno]].death = -1;
2210 qty[reg_qty[regno]].death = 2 * this_insn_number + output_p;
2243 && qty[qtyno].n_calls_crossed > 0)
2248 else if (qty[qtyno].n_calls_crossed == 0)
2280 cannot_change_mode_set_regs (&used, mode, qty[qtyno].first_reg);
2313 && (qty[qtyno].n_calls_crossed == 0
2358 && qty[qtyno].n_calls_crossed != 0
2359 && qty[qtyno].n_throwing_calls_crossed == 0
2360 && CALLER_SAVE_PROFITABLE (qty[qtyno].n_refs,
2361 qty[qtyno].n_calls_crossed))