Lines Matching refs:record

999 	  /* Allow any record which doesn't have a "t" field (i.e.,
1215 as_bad (_("record type is not valid"));
1249 as_bad (_("record type is not valid"));
1318 as_bad (_("Invalid record type for P3 format."));
1354 as_bad (_("Invalid record type for format P6"));
1534 as_bad (_("Invalid record type for format B1"));
1586 as_bad (_("Invalid record type for format B1"));
1619 as_bad (_("Invalid record type for format X1"));
1661 as_bad (_("Invalid record type for format X3"));
1701 if (&cur->r.record.p == unwind.pending_saves)
1711 /* Don't free the first discarded record, it's being used as
1715 cur->r.record.p.grmask = 0;
1716 cur->r.record.p.brmask = 0;
1717 cur->r.record.p.frmask = 0;
1718 prev = cur->r.record.p.next;
1719 cur->r.record.p.next = NULL;
1731 cur = cur->r.record.p.next;
1738 /* This function allocates a record list structure, and initializes fields. */
1751 /* Dummy unwind record used for calculating the length of the last prologue or
1765 memset (&ptr->r.record.r.mask, 0, sizeof (ptr->r.record.r.mask));
1773 memset (&ptr->r.record.r.mask, 0, sizeof (ptr->r.record.r.mask));
1774 ptr->r.record.r.grmask = saved_mask;
1775 ptr->r.record.r.grsave = reg;
1790 ptr->r.record.p.size = size;
1805 ptr->r.record.p.r.gr = gr;
1813 ptr->r.record.p.off.sp = offset / 4;
1828 ptr->r.record.p.r.gr = gr;
1836 ptr->r.record.p.r.br = br;
1844 ptr->r.record.p.off.psp = ENCODED_PSP_OFFSET (offset);
1852 ptr->r.record.p.off.sp = offset / 4;
1867 ptr->r.record.p.r.gr = gr;
1875 ptr->r.record.p.off.psp = ENCODED_PSP_OFFSET (offset);
1883 ptr->r.record.p.off.sp = offset / 4;
1898 ptr->r.record.p.r.gr = gr;
1906 ptr->r.record.p.off.psp = ENCODED_PSP_OFFSET (offset);
1914 ptr->r.record.p.off.sp = offset / 4;
1924 ptr->r.record.p.frmask = mask;
1925 unwind.pending_saves = &ptr->r.record.p;
1935 cur->r.record.p.frmask = mask;
1937 prev->r.record.p.frmask ^= mask;
1938 prev->r.record.p.next = cur;
1948 unwind.pending_saves = &cur->r.record.p;
1949 cur->r.record.p.frmask = fr_mask;
1959 cur->r.record.p.frmask = fr_mask;
1961 prev->r.record.p.frmask ^= fr_mask;
1962 prev->r.record.p.next = cur;
1964 cur->r.record.p.grmask = gr_mask;
1974 cur->r.record.p.grmask = gr_mask;
1976 prev->r.record.p.grmask ^= gr_mask;
1977 prev->r.record.p.next = cur;
1987 ptr->r.record.p.grmask = mask;
1988 ptr->r.record.p.r.gr = reg;
1989 unwind.pending_saves = &ptr->r.record.p;
1999 cur->r.record.p.grmask = mask;
2000 /* Indicate this record shouldn't be output. */
2001 cur->r.record.p.r.gr = REG_NUM;
2003 prev->r.record.p.grmask ^= mask;
2004 prev->r.record.p.next = cur;
2014 ptr->r.record.p.grmask = mask;
2015 unwind.pending_saves = &ptr->r.record.p;
2025 cur->r.record.p.grmask = mask;
2027 prev->r.record.p.grmask ^= mask;
2028 prev->r.record.p.next = cur;
2038 ptr->r.record.p.brmask = mask;
2039 unwind.pending_saves = &ptr->r.record.p;
2049 cur->r.record.p.brmask = mask;
2051 prev->r.record.p.brmask ^= mask;
2052 prev->r.record.p.next = cur;
2062 ptr->r.record.p.brmask = mask;
2063 ptr->r.record.p.r.gr = reg;
2064 unwind.pending_saves = &ptr->r.record.p;
2074 cur->r.record.p.brmask = mask;
2075 /* Indicate this record shouldn't be output. */
2076 cur->r.record.p.r.gr = REG_NUM;
2078 prev->r.record.p.brmask ^= mask;
2079 prev->r.record.p.next = cur;
2087 ptr->r.record.p.off.psp = ENCODED_PSP_OFFSET (offset);
2102 ptr->r.record.p.r.gr = gr;
2110 ptr->r.record.p.off.psp = ENCODED_PSP_OFFSET (offset);
2118 ptr->r.record.p.off.sp = offset / 4;
2133 ptr->r.record.p.r.gr = gr;
2141 ptr->r.record.p.off.psp = ENCODED_PSP_OFFSET (offset);
2149 ptr->r.record.p.off.sp = offset / 4;
2164 ptr->r.record.p.r.gr = gr;
2172 ptr->r.record.p.off.psp = ENCODED_PSP_OFFSET (offset);
2180 ptr->r.record.p.off.sp = offset / 4;
2202 ptr->r.record.p.r.gr = gr;
2210 ptr->r.record.p.off.psp = ENCODED_PSP_OFFSET (offset);
2218 ptr->r.record.p.off.sp = offset / 4;
2233 ptr->r.record.p.r.gr = gr;
2241 ptr->r.record.p.off.psp = ENCODED_PSP_OFFSET (offset);
2249 ptr->r.record.p.off.sp = offset / 4;
2264 ptr->r.record.p.r.gr = gr;
2272 ptr->r.record.p.off.psp = ENCODED_PSP_OFFSET (offset);
2280 ptr->r.record.p.off.sp = offset / 4;
2295 ptr->r.record.p.r.gr = gr;
2303 ptr->r.record.p.off.psp = ENCODED_PSP_OFFSET (offset);
2311 ptr->r.record.p.off.sp = offset / 4;
2319 ptr->r.record.p.abi = abi;
2320 ptr->r.record.p.context = context;
2328 ptr->r.record.b.ecount = ecount;
2336 ptr->r.record.b.label = label;
2344 ptr->r.record.b.label = label;
2355 ptr->r.record.x.ab = ab;
2356 ptr->r.record.x.reg = reg;
2357 ptr->r.record.x.where.pspoff = ENCODED_PSP_OFFSET (offset);
2358 ptr->r.record.x.qp = predicate;
2369 ptr->r.record.x.ab = ab;
2370 ptr->r.record.x.reg = reg;
2371 ptr->r.record.x.where.spoff = offset / 4;
2372 ptr->r.record.x.qp = predicate;
2384 ptr->r.record.x.ab = ab;
2385 ptr->r.record.x.reg = reg;
2386 ptr->r.record.x.where.reg = targ_reg;
2387 ptr->r.record.x.xy = xy;
2388 ptr->r.record.x.qp = predicate;
2402 /* This is a dummy record that takes up no space in the output. */
2416 output_R2_format (f, ptr->r.record.r.grmask,
2417 ptr->r.record.r.grsave, ptr->r.record.r.rlen);
2419 output_R1_format (f, ptr->r.type, ptr->r.record.r.rlen);
2422 gr_mask = ptr->r.record.r.mask.gr_mem;
2423 fr_mask = ptr->r.record.r.mask.fr_mem;
2436 if (ptr->r.record.r.mask.br_mem)
2437 output_P1_format (f, ptr->r.record.r.mask.br_mem);
2440 if (ptr->r.record.r.mask.i)
2441 output_P4_format (f, ptr->r.record.r.mask.i,
2442 ptr->r.record.r.imask_size);
2446 output_R1_format (f, ptr->r.type, ptr->r.record.r.rlen);
2450 output_P7_format (f, ptr->r.type, ptr->r.record.p.t,
2451 ptr->r.record.p.size);
2464 output_P3_format (f, ptr->r.type, ptr->r.record.p.r.gr);
2467 output_P3_format (f, rp_br, ptr->r.record.p.r.br);
2470 output_P7_format (f, psp_sprel, ptr->r.record.p.off.sp, 0);
2478 output_P7_format (f, ptr->r.type, ptr->r.record.p.t, 0);
2487 output_P7_format (f, ptr->r.type, ptr->r.record.p.off.psp, 0);
2499 output_P8_format (f, ptr->r.type, ptr->r.record.p.off.sp);
2502 if (ptr->r.record.p.r.gr < REG_NUM)
2506 gr_mask = cur->r.record.p.grmask;
2507 while ((cur = cur->r.record.p.next) != NULL)
2508 gr_mask |= cur->r.record.p.grmask;
2509 output_P9_format (f, gr_mask, ptr->r.record.p.r.gr);
2513 if (ptr->r.record.p.r.gr < REG_NUM)
2517 gr_mask = cur->r.record.p.brmask;
2518 while ((cur = cur->r.record.p.next) != NULL)
2519 gr_mask |= cur->r.record.p.brmask;
2520 output_P2_format (f, gr_mask, ptr->r.record.p.r.gr);
2524 as_bad (_("spill_mask record unimplemented."));
2531 output_P8_format (f, ptr->r.type, ptr->r.record.p.t);
2537 output_P8_format (f, ptr->r.type, ptr->r.record.p.off.psp);
2540 output_P10_format (f, ptr->r.record.p.abi, ptr->r.record.p.context);
2543 output_B3_format (f, ptr->r.record.b.ecount, ptr->r.record.b.t);
2547 output_B4_format (f, ptr->r.type, ptr->r.record.b.label);
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.pspoff);
2555 output_X1_format (f, ptr->r.type, ptr->r.record.x.ab,
2556 ptr->r.record.x.reg, ptr->r.record.x.t,
2557 ptr->r.record.x.where.spoff);
2560 output_X2_format (f, ptr->r.record.x.ab, ptr->r.record.x.reg,
2561 ptr->r.record.x.xy >> 1, ptr->r.record.x.xy,
2562 ptr->r.record.x.where.reg, ptr->r.record.x.t);
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.pspoff);
2570 output_X3_format (f, ptr->r.type, ptr->r.record.x.qp,
2571 ptr->r.record.x.ab, ptr->r.record.x.reg,
2572 ptr->r.record.x.t, ptr->r.record.x.where.spoff);
2575 output_X4_format (f, ptr->r.record.x.qp, ptr->r.record.x.ab,
2576 ptr->r.record.x.reg, ptr->r.record.x.xy >> 1,
2577 ptr->r.record.x.xy, ptr->r.record.x.where.reg,
2578 ptr->r.record.x.t);
2596 /* Determine the size of a record list in bytes. */
2648 imask = region->r.record.r.mask.i;
2649 imask_size = region->r.record.r.imask_size;
2652 imask_size = (region->r.record.r.rlen * 2 + 7) / 8 + 1;
2655 region->r.record.r.imask_size = imask_size;
2656 region->r.record.r.mask.i = imask;
2771 /* Optimize unwind record directives. */
2779 /* If the only unwind record is ".prologue" or ".prologue" followed
2789 /* Given a complete record list, process any records which have
2792 within each record to generate an image. */
2804 as_bad (_("Insn slot not set in unwind record."));
2832 rlen = ptr->r.record.r.rlen = size;
2842 ptr->r.record.b.t = rlen - 1 - t;
2847 ptr->r.record.b.t = 0;
2863 ptr->r.record.p.t = t;
2872 ptr->r.record.x.t = t;
2878 as_bad (_("frgr_mem record before region record!"));
2881 region->r.record.r.mask.fr_mem |= ptr->r.record.p.frmask;
2882 region->r.record.r.mask.gr_mem |= ptr->r.record.p.grmask;
2883 set_imask (region, ptr->r.record.p.frmask, t, 1);
2884 set_imask (region, ptr->r.record.p.grmask, t, 2);
2889 as_bad (_("fr_mem record before region record!"));
2892 region->r.record.r.mask.fr_mem |= ptr->r.record.p.frmask;
2893 set_imask (region, ptr->r.record.p.frmask, t, 1);
2898 as_bad (_("gr_mem record before region record!"));
2901 region->r.record.r.mask.gr_mem |= ptr->r.record.p.grmask;
2902 set_imask (region, ptr->r.record.p.grmask, t, 2);
2907 as_bad (_("br_mem record before region record!"));
2910 region->r.record.r.mask.br_mem |= ptr->r.record.p.brmask;
2911 set_imask (region, ptr->r.record.p.brmask, t, 3);
2917 as_bad (_("gr_gr record before region record!"));
2920 set_imask (region, ptr->r.record.p.grmask, t, 2);
2925 as_bad (_("br_gr record before region record!"));
2928 set_imask (region, ptr->r.record.p.brmask, t, 3);
2970 normal fill frag with the unwind image from the record list. */
3630 /* Generate the unwind record. */
6581 /* Find the last prologue/body record in the list for the current
6586 meanwhile. Any non-prologue non-body record followed by a
6587 prologue/body record must also refer to the current point. */
6599 record. */
10834 unwind.pending_saves = &unwind.pending_saves->next->r.record.p;