Lines Matching refs:record

997 	  /* Allow any record which doesn't have a "t" field (i.e.,
1213 as_bad (_("record type is not valid"));
1247 as_bad (_("record type is not valid"));
1316 as_bad (_("Invalid record type for P3 format."));
1352 as_bad (_("Invalid record type for format P6"));
1532 as_bad (_("Invalid record type for format B1"));
1584 as_bad (_("Invalid record type for format B1"));
1617 as_bad (_("Invalid record type for format X1"));
1659 as_bad (_("Invalid record type for format X3"));
1699 if (&cur->r.record.p == unwind.pending_saves)
1709 /* Don't free the first discarded record, it's being used as
1713 cur->r.record.p.grmask = 0;
1714 cur->r.record.p.brmask = 0;
1715 cur->r.record.p.frmask = 0;
1716 prev = cur->r.record.p.next;
1717 cur->r.record.p.next = NULL;
1729 cur = cur->r.record.p.next;
1736 /* This function allocates a record list structure, and initializes fields. */
1749 /* Dummy unwind record used for calculating the length of the last prologue or
1770 ptr->r.record.r.grmask = saved_mask;
1771 ptr->r.record.r.grsave = reg;
1786 ptr->r.record.p.size = size;
1801 ptr->r.record.p.r.gr = gr;
1809 ptr->r.record.p.off.sp = offset / 4;
1824 ptr->r.record.p.r.gr = gr;
1832 ptr->r.record.p.r.br = br;
1840 ptr->r.record.p.off.psp = ENCODED_PSP_OFFSET (offset);
1848 ptr->r.record.p.off.sp = offset / 4;
1863 ptr->r.record.p.r.gr = gr;
1871 ptr->r.record.p.off.psp = ENCODED_PSP_OFFSET (offset);
1879 ptr->r.record.p.off.sp = offset / 4;
1894 ptr->r.record.p.r.gr = gr;
1902 ptr->r.record.p.off.psp = ENCODED_PSP_OFFSET (offset);
1910 ptr->r.record.p.off.sp = offset / 4;
1920 ptr->r.record.p.frmask = mask;
1921 unwind.pending_saves = &ptr->r.record.p;
1931 cur->r.record.p.frmask = mask;
1933 prev->r.record.p.frmask ^= mask;
1934 prev->r.record.p.next = cur;
1944 unwind.pending_saves = &cur->r.record.p;
1945 cur->r.record.p.frmask = fr_mask;
1955 cur->r.record.p.frmask = fr_mask;
1957 prev->r.record.p.frmask ^= fr_mask;
1958 prev->r.record.p.next = cur;
1960 cur->r.record.p.grmask = gr_mask;
1970 cur->r.record.p.grmask = gr_mask;
1972 prev->r.record.p.grmask ^= gr_mask;
1973 prev->r.record.p.next = cur;
1983 ptr->r.record.p.grmask = mask;
1984 ptr->r.record.p.r.gr = reg;
1985 unwind.pending_saves = &ptr->r.record.p;
1995 cur->r.record.p.grmask = mask;
1996 /* Indicate this record shouldn't be output. */
1997 cur->r.record.p.r.gr = REG_NUM;
1999 prev->r.record.p.grmask ^= mask;
2000 prev->r.record.p.next = cur;
2010 ptr->r.record.p.grmask = mask;
2011 unwind.pending_saves = &ptr->r.record.p;
2021 cur->r.record.p.grmask = mask;
2023 prev->r.record.p.grmask ^= mask;
2024 prev->r.record.p.next = cur;
2034 ptr->r.record.p.brmask = mask;
2035 unwind.pending_saves = &ptr->r.record.p;
2045 cur->r.record.p.brmask = mask;
2047 prev->r.record.p.brmask ^= mask;
2048 prev->r.record.p.next = cur;
2058 ptr->r.record.p.brmask = mask;
2059 ptr->r.record.p.r.gr = reg;
2060 unwind.pending_saves = &ptr->r.record.p;
2070 cur->r.record.p.brmask = mask;
2071 /* Indicate this record shouldn't be output. */
2072 cur->r.record.p.r.gr = REG_NUM;
2074 prev->r.record.p.brmask ^= mask;
2075 prev->r.record.p.next = cur;
2083 ptr->r.record.p.off.psp = ENCODED_PSP_OFFSET (offset);
2098 ptr->r.record.p.r.gr = gr;
2106 ptr->r.record.p.off.psp = ENCODED_PSP_OFFSET (offset);
2114 ptr->r.record.p.off.sp = offset / 4;
2129 ptr->r.record.p.r.gr = gr;
2137 ptr->r.record.p.off.psp = ENCODED_PSP_OFFSET (offset);
2145 ptr->r.record.p.off.sp = offset / 4;
2160 ptr->r.record.p.r.gr = gr;
2168 ptr->r.record.p.off.psp = ENCODED_PSP_OFFSET (offset);
2176 ptr->r.record.p.off.sp = offset / 4;
2198 ptr->r.record.p.r.gr = gr;
2206 ptr->r.record.p.off.psp = ENCODED_PSP_OFFSET (offset);
2214 ptr->r.record.p.off.sp = offset / 4;
2229 ptr->r.record.p.r.gr = gr;
2237 ptr->r.record.p.off.psp = ENCODED_PSP_OFFSET (offset);
2245 ptr->r.record.p.off.sp = offset / 4;
2260 ptr->r.record.p.r.gr = gr;
2268 ptr->r.record.p.off.psp = ENCODED_PSP_OFFSET (offset);
2276 ptr->r.record.p.off.sp = offset / 4;
2291 ptr->r.record.p.r.gr = gr;
2299 ptr->r.record.p.off.psp = ENCODED_PSP_OFFSET (offset);
2307 ptr->r.record.p.off.sp = offset / 4;
2315 ptr->r.record.p.abi = abi;
2316 ptr->r.record.p.context = context;
2324 ptr->r.record.b.ecount = ecount;
2332 ptr->r.record.b.label = label;
2340 ptr->r.record.b.label = label;
2351 ptr->r.record.x.ab = ab;
2352 ptr->r.record.x.reg = reg;
2353 ptr->r.record.x.where.pspoff = ENCODED_PSP_OFFSET (offset);
2354 ptr->r.record.x.qp = predicate;
2365 ptr->r.record.x.ab = ab;
2366 ptr->r.record.x.reg = reg;
2367 ptr->r.record.x.where.spoff = offset / 4;
2368 ptr->r.record.x.qp = predicate;
2380 ptr->r.record.x.ab = ab;
2381 ptr->r.record.x.reg = reg;
2382 ptr->r.record.x.where.reg = targ_reg;
2383 ptr->r.record.x.xy = xy;
2384 ptr->r.record.x.qp = predicate;
2398 /* This is a dummy record that takes up no space in the output. */
2412 output_R2_format (f, ptr->r.record.r.grmask,
2413 ptr->r.record.r.grsave, ptr->r.record.r.rlen);
2415 output_R1_format (f, ptr->r.type, ptr->r.record.r.rlen);
2418 gr_mask = ptr->r.record.r.mask.gr_mem;
2419 fr_mask = ptr->r.record.r.mask.fr_mem;
2432 if (ptr->r.record.r.mask.br_mem)
2433 output_P1_format (f, ptr->r.record.r.mask.br_mem);
2436 if (ptr->r.record.r.mask.i)
2437 output_P4_format (f, ptr->r.record.r.mask.i,
2438 ptr->r.record.r.imask_size);
2442 output_R1_format (f, ptr->r.type, ptr->r.record.r.rlen);
2446 output_P7_format (f, ptr->r.type, ptr->r.record.p.t,
2447 ptr->r.record.p.size);
2460 output_P3_format (f, ptr->r.type, ptr->r.record.p.r.gr);
2463 output_P3_format (f, rp_br, ptr->r.record.p.r.br);
2466 output_P7_format (f, psp_sprel, ptr->r.record.p.off.sp, 0);
2474 output_P7_format (f, ptr->r.type, ptr->r.record.p.t, 0);
2483 output_P7_format (f, ptr->r.type, ptr->r.record.p.off.psp, 0);
2495 output_P8_format (f, ptr->r.type, ptr->r.record.p.off.sp);
2498 if (ptr->r.record.p.r.gr < REG_NUM)
2502 gr_mask = cur->r.record.p.grmask;
2503 while ((cur = cur->r.record.p.next) != NULL)
2504 gr_mask |= cur->r.record.p.grmask;
2505 output_P9_format (f, gr_mask, ptr->r.record.p.r.gr);
2509 if (ptr->r.record.p.r.gr < REG_NUM)
2513 gr_mask = cur->r.record.p.brmask;
2514 while ((cur = cur->r.record.p.next) != NULL)
2515 gr_mask |= cur->r.record.p.brmask;
2516 output_P2_format (f, gr_mask, ptr->r.record.p.r.gr);
2520 as_bad (_("spill_mask record unimplemented."));
2527 output_P8_format (f, ptr->r.type, ptr->r.record.p.t);
2533 output_P8_format (f, ptr->r.type, ptr->r.record.p.off.psp);
2536 output_P10_format (f, ptr->r.record.p.abi, ptr->r.record.p.context);
2539 output_B3_format (f, ptr->r.record.b.ecount, ptr->r.record.b.t);
2543 output_B4_format (f, ptr->r.type, ptr->r.record.b.label);
2546 output_X1_format (f, ptr->r.type, ptr->r.record.x.ab,
2547 ptr->r.record.x.reg, ptr->r.record.x.t,
2548 ptr->r.record.x.where.pspoff);
2551 output_X1_format (f, ptr->r.type, ptr->r.record.x.ab,
2552 ptr->r.record.x.reg, ptr->r.record.x.t,
2553 ptr->r.record.x.where.spoff);
2556 output_X2_format (f, ptr->r.record.x.ab, ptr->r.record.x.reg,
2557 ptr->r.record.x.xy >> 1, ptr->r.record.x.xy,
2558 ptr->r.record.x.where.reg, ptr->r.record.x.t);
2561 output_X3_format (f, ptr->r.type, ptr->r.record.x.qp,
2562 ptr->r.record.x.ab, ptr->r.record.x.reg,
2563 ptr->r.record.x.t, ptr->r.record.x.where.pspoff);
2566 output_X3_format (f, ptr->r.type, ptr->r.record.x.qp,
2567 ptr->r.record.x.ab, ptr->r.record.x.reg,
2568 ptr->r.record.x.t, ptr->r.record.x.where.spoff);
2571 output_X4_format (f, ptr->r.record.x.qp, ptr->r.record.x.ab,
2572 ptr->r.record.x.reg, ptr->r.record.x.xy >> 1,
2573 ptr->r.record.x.xy, ptr->r.record.x.where.reg,
2574 ptr->r.record.x.t);
2592 /* Determine the size of a record list in bytes. */
2644 imask = region->r.record.r.mask.i;
2645 imask_size = region->r.record.r.imask_size;
2648 imask_size = (region->r.record.r.rlen * 2 + 7) / 8 + 1;
2651 region->r.record.r.imask_size = imask_size;
2652 region->r.record.r.mask.i = imask;
2767 /* Optimize unwind record directives. */
2775 /* If the only unwind record is ".prologue" or ".prologue" followed
2785 /* Given a complete record list, process any records which have
2788 within each record to generate an image. */
2800 as_bad (_("Insn slot not set in unwind record."));
2828 rlen = ptr->r.record.r.rlen = size;
2838 ptr->r.record.b.t = rlen - 1 - t;
2843 ptr->r.record.b.t = 0;
2859 ptr->r.record.p.t = t;
2868 ptr->r.record.x.t = t;
2874 as_bad (_("frgr_mem record before region record!"));
2877 region->r.record.r.mask.fr_mem |= ptr->r.record.p.frmask;
2878 region->r.record.r.mask.gr_mem |= ptr->r.record.p.grmask;
2879 set_imask (region, ptr->r.record.p.frmask, t, 1);
2880 set_imask (region, ptr->r.record.p.grmask, t, 2);
2885 as_bad (_("fr_mem record before region record!"));
2888 region->r.record.r.mask.fr_mem |= ptr->r.record.p.frmask;
2889 set_imask (region, ptr->r.record.p.frmask, t, 1);
2894 as_bad (_("gr_mem record before region record!"));
2897 region->r.record.r.mask.gr_mem |= ptr->r.record.p.grmask;
2898 set_imask (region, ptr->r.record.p.grmask, t, 2);
2903 as_bad (_("br_mem record before region record!"));
2906 region->r.record.r.mask.br_mem |= ptr->r.record.p.brmask;
2907 set_imask (region, ptr->r.record.p.brmask, t, 3);
2913 as_bad (_("gr_gr record before region record!"));
2916 set_imask (region, ptr->r.record.p.grmask, t, 2);
2921 as_bad (_("br_gr record before region record!"));
2924 set_imask (region, ptr->r.record.p.brmask, t, 3);
2966 normal fill frag with the unwind image from the record list. */
3625 /* Generate the unwind record. */
6568 /* Find the last prologue/body record in the list for the current
6573 meanwhile. Any non-prologue non-body record followed by a
6574 prologue/body record must also refer to the current point. */
6586 record. */
10837 unwind.pending_saves = &unwind.pending_saves->next->r.record.p;