Lines Matching refs:record

996 	  /* Allow any record which doesn't have a "t" field (i.e.,
1212 as_bad (_("record type is not valid"));
1246 as_bad (_("record type is not valid"));
1315 as_bad (_("Invalid record type for P3 format."));
1351 as_bad (_("Invalid record type for format P6"));
1531 as_bad (_("Invalid record type for format B1"));
1583 as_bad (_("Invalid record type for format B1"));
1616 as_bad (_("Invalid record type for format X1"));
1658 as_bad (_("Invalid record type for format X3"));
1698 if (&cur->r.record.p == unwind.pending_saves)
1708 /* Don't free the first discarded record, it's being used as
1712 cur->r.record.p.grmask = 0;
1713 cur->r.record.p.brmask = 0;
1714 cur->r.record.p.frmask = 0;
1715 prev = cur->r.record.p.next;
1716 cur->r.record.p.next = NULL;
1728 cur = cur->r.record.p.next;
1735 /* This function allocates a record list structure, and initializes fields. */
1748 /* Dummy unwind record used for calculating the length of the last prologue or
1769 ptr->r.record.r.grmask = saved_mask;
1770 ptr->r.record.r.grsave = reg;
1785 ptr->r.record.p.size = size;
1800 ptr->r.record.p.r.gr = gr;
1808 ptr->r.record.p.off.sp = offset / 4;
1823 ptr->r.record.p.r.gr = gr;
1831 ptr->r.record.p.r.br = br;
1839 ptr->r.record.p.off.psp = ENCODED_PSP_OFFSET (offset);
1847 ptr->r.record.p.off.sp = offset / 4;
1862 ptr->r.record.p.r.gr = gr;
1870 ptr->r.record.p.off.psp = ENCODED_PSP_OFFSET (offset);
1878 ptr->r.record.p.off.sp = offset / 4;
1893 ptr->r.record.p.r.gr = gr;
1901 ptr->r.record.p.off.psp = ENCODED_PSP_OFFSET (offset);
1909 ptr->r.record.p.off.sp = offset / 4;
1919 ptr->r.record.p.frmask = mask;
1920 unwind.pending_saves = &ptr->r.record.p;
1930 cur->r.record.p.frmask = mask;
1932 prev->r.record.p.frmask ^= mask;
1933 prev->r.record.p.next = cur;
1943 unwind.pending_saves = &cur->r.record.p;
1944 cur->r.record.p.frmask = fr_mask;
1954 cur->r.record.p.frmask = fr_mask;
1956 prev->r.record.p.frmask ^= fr_mask;
1957 prev->r.record.p.next = cur;
1959 cur->r.record.p.grmask = gr_mask;
1969 cur->r.record.p.grmask = gr_mask;
1971 prev->r.record.p.grmask ^= gr_mask;
1972 prev->r.record.p.next = cur;
1982 ptr->r.record.p.grmask = mask;
1983 ptr->r.record.p.r.gr = reg;
1984 unwind.pending_saves = &ptr->r.record.p;
1994 cur->r.record.p.grmask = mask;
1995 /* Indicate this record shouldn't be output. */
1996 cur->r.record.p.r.gr = REG_NUM;
1998 prev->r.record.p.grmask ^= mask;
1999 prev->r.record.p.next = cur;
2009 ptr->r.record.p.grmask = mask;
2010 unwind.pending_saves = &ptr->r.record.p;
2020 cur->r.record.p.grmask = mask;
2022 prev->r.record.p.grmask ^= mask;
2023 prev->r.record.p.next = cur;
2033 ptr->r.record.p.brmask = mask;
2034 unwind.pending_saves = &ptr->r.record.p;
2044 cur->r.record.p.brmask = mask;
2046 prev->r.record.p.brmask ^= mask;
2047 prev->r.record.p.next = cur;
2057 ptr->r.record.p.brmask = mask;
2058 ptr->r.record.p.r.gr = reg;
2059 unwind.pending_saves = &ptr->r.record.p;
2069 cur->r.record.p.brmask = mask;
2070 /* Indicate this record shouldn't be output. */
2071 cur->r.record.p.r.gr = REG_NUM;
2073 prev->r.record.p.brmask ^= mask;
2074 prev->r.record.p.next = cur;
2082 ptr->r.record.p.off.psp = ENCODED_PSP_OFFSET (offset);
2097 ptr->r.record.p.r.gr = gr;
2105 ptr->r.record.p.off.psp = ENCODED_PSP_OFFSET (offset);
2113 ptr->r.record.p.off.sp = offset / 4;
2128 ptr->r.record.p.r.gr = gr;
2136 ptr->r.record.p.off.psp = ENCODED_PSP_OFFSET (offset);
2144 ptr->r.record.p.off.sp = offset / 4;
2159 ptr->r.record.p.r.gr = gr;
2167 ptr->r.record.p.off.psp = ENCODED_PSP_OFFSET (offset);
2175 ptr->r.record.p.off.sp = offset / 4;
2197 ptr->r.record.p.r.gr = gr;
2205 ptr->r.record.p.off.psp = ENCODED_PSP_OFFSET (offset);
2213 ptr->r.record.p.off.sp = offset / 4;
2228 ptr->r.record.p.r.gr = gr;
2236 ptr->r.record.p.off.psp = ENCODED_PSP_OFFSET (offset);
2244 ptr->r.record.p.off.sp = offset / 4;
2259 ptr->r.record.p.r.gr = gr;
2267 ptr->r.record.p.off.psp = ENCODED_PSP_OFFSET (offset);
2275 ptr->r.record.p.off.sp = offset / 4;
2290 ptr->r.record.p.r.gr = gr;
2298 ptr->r.record.p.off.psp = ENCODED_PSP_OFFSET (offset);
2306 ptr->r.record.p.off.sp = offset / 4;
2314 ptr->r.record.p.abi = abi;
2315 ptr->r.record.p.context = context;
2323 ptr->r.record.b.ecount = ecount;
2331 ptr->r.record.b.label = label;
2339 ptr->r.record.b.label = label;
2350 ptr->r.record.x.ab = ab;
2351 ptr->r.record.x.reg = reg;
2352 ptr->r.record.x.where.pspoff = ENCODED_PSP_OFFSET (offset);
2353 ptr->r.record.x.qp = predicate;
2364 ptr->r.record.x.ab = ab;
2365 ptr->r.record.x.reg = reg;
2366 ptr->r.record.x.where.spoff = offset / 4;
2367 ptr->r.record.x.qp = predicate;
2379 ptr->r.record.x.ab = ab;
2380 ptr->r.record.x.reg = reg;
2381 ptr->r.record.x.where.reg = targ_reg;
2382 ptr->r.record.x.xy = xy;
2383 ptr->r.record.x.qp = predicate;
2397 /* This is a dummy record that takes up no space in the output. */
2411 output_R2_format (f, ptr->r.record.r.grmask,
2412 ptr->r.record.r.grsave, ptr->r.record.r.rlen);
2414 output_R1_format (f, ptr->r.type, ptr->r.record.r.rlen);
2417 gr_mask = ptr->r.record.r.mask.gr_mem;
2418 fr_mask = ptr->r.record.r.mask.fr_mem;
2431 if (ptr->r.record.r.mask.br_mem)
2432 output_P1_format (f, ptr->r.record.r.mask.br_mem);
2435 if (ptr->r.record.r.mask.i)
2436 output_P4_format (f, ptr->r.record.r.mask.i,
2437 ptr->r.record.r.imask_size);
2441 output_R1_format (f, ptr->r.type, ptr->r.record.r.rlen);
2445 output_P7_format (f, ptr->r.type, ptr->r.record.p.t,
2446 ptr->r.record.p.size);
2459 output_P3_format (f, ptr->r.type, ptr->r.record.p.r.gr);
2462 output_P3_format (f, rp_br, ptr->r.record.p.r.br);
2465 output_P7_format (f, psp_sprel, ptr->r.record.p.off.sp, 0);
2473 output_P7_format (f, ptr->r.type, ptr->r.record.p.t, 0);
2482 output_P7_format (f, ptr->r.type, ptr->r.record.p.off.psp, 0);
2494 output_P8_format (f, ptr->r.type, ptr->r.record.p.off.sp);
2497 if (ptr->r.record.p.r.gr < REG_NUM)
2501 gr_mask = cur->r.record.p.grmask;
2502 while ((cur = cur->r.record.p.next) != NULL)
2503 gr_mask |= cur->r.record.p.grmask;
2504 output_P9_format (f, gr_mask, ptr->r.record.p.r.gr);
2508 if (ptr->r.record.p.r.gr < REG_NUM)
2512 gr_mask = cur->r.record.p.brmask;
2513 while ((cur = cur->r.record.p.next) != NULL)
2514 gr_mask |= cur->r.record.p.brmask;
2515 output_P2_format (f, gr_mask, ptr->r.record.p.r.gr);
2519 as_bad (_("spill_mask record unimplemented."));
2526 output_P8_format (f, ptr->r.type, ptr->r.record.p.t);
2532 output_P8_format (f, ptr->r.type, ptr->r.record.p.off.psp);
2535 output_P10_format (f, ptr->r.record.p.abi, ptr->r.record.p.context);
2538 output_B3_format (f, ptr->r.record.b.ecount, ptr->r.record.b.t);
2542 output_B4_format (f, ptr->r.type, ptr->r.record.b.label);
2545 output_X1_format (f, ptr->r.type, ptr->r.record.x.ab,
2546 ptr->r.record.x.reg, ptr->r.record.x.t,
2547 ptr->r.record.x.where.pspoff);
2550 output_X1_format (f, ptr->r.type, ptr->r.record.x.ab,
2551 ptr->r.record.x.reg, ptr->r.record.x.t,
2552 ptr->r.record.x.where.spoff);
2555 output_X2_format (f, ptr->r.record.x.ab, ptr->r.record.x.reg,
2556 ptr->r.record.x.xy >> 1, ptr->r.record.x.xy,
2557 ptr->r.record.x.where.reg, ptr->r.record.x.t);
2560 output_X3_format (f, ptr->r.type, ptr->r.record.x.qp,
2561 ptr->r.record.x.ab, ptr->r.record.x.reg,
2562 ptr->r.record.x.t, ptr->r.record.x.where.pspoff);
2565 output_X3_format (f, ptr->r.type, ptr->r.record.x.qp,
2566 ptr->r.record.x.ab, ptr->r.record.x.reg,
2567 ptr->r.record.x.t, ptr->r.record.x.where.spoff);
2570 output_X4_format (f, ptr->r.record.x.qp, ptr->r.record.x.ab,
2571 ptr->r.record.x.reg, ptr->r.record.x.xy >> 1,
2572 ptr->r.record.x.xy, ptr->r.record.x.where.reg,
2573 ptr->r.record.x.t);
2591 /* Determine the size of a record list in bytes. */
2643 imask = region->r.record.r.mask.i;
2644 imask_size = region->r.record.r.imask_size;
2647 imask_size = (region->r.record.r.rlen * 2 + 7) / 8 + 1;
2650 region->r.record.r.imask_size = imask_size;
2651 region->r.record.r.mask.i = imask;
2766 /* Optimize unwind record directives. */
2774 /* If the only unwind record is ".prologue" or ".prologue" followed
2784 /* Given a complete record list, process any records which have
2787 within each record to generate an image. */
2799 as_bad (_("Insn slot not set in unwind record."));
2827 rlen = ptr->r.record.r.rlen = size;
2837 ptr->r.record.b.t = rlen - 1 - t;
2842 ptr->r.record.b.t = 0;
2858 ptr->r.record.p.t = t;
2867 ptr->r.record.x.t = t;
2873 as_bad (_("frgr_mem record before region record!"));
2876 region->r.record.r.mask.fr_mem |= ptr->r.record.p.frmask;
2877 region->r.record.r.mask.gr_mem |= ptr->r.record.p.grmask;
2878 set_imask (region, ptr->r.record.p.frmask, t, 1);
2879 set_imask (region, ptr->r.record.p.grmask, t, 2);
2884 as_bad (_("fr_mem record before region record!"));
2887 region->r.record.r.mask.fr_mem |= ptr->r.record.p.frmask;
2888 set_imask (region, ptr->r.record.p.frmask, t, 1);
2893 as_bad (_("gr_mem record before region record!"));
2896 region->r.record.r.mask.gr_mem |= ptr->r.record.p.grmask;
2897 set_imask (region, ptr->r.record.p.grmask, t, 2);
2902 as_bad (_("br_mem record before region record!"));
2905 region->r.record.r.mask.br_mem |= ptr->r.record.p.brmask;
2906 set_imask (region, ptr->r.record.p.brmask, t, 3);
2912 as_bad (_("gr_gr record before region record!"));
2915 set_imask (region, ptr->r.record.p.grmask, t, 2);
2920 as_bad (_("br_gr record before region record!"));
2923 set_imask (region, ptr->r.record.p.brmask, t, 3);
2965 normal fill frag with the unwind image from the record list. */
3624 /* Generate the unwind record. */
6561 /* Find the last prologue/body record in the list for the current
6566 meanwhile. Any non-prologue non-body record followed by a
6567 prologue/body record must also refer to the current point. */
6579 record. */
10821 unwind.pending_saves = &unwind.pending_saves->next->r.record.p;