Lines Matching defs:cfi_insn
1205 const struct cfi_insn_data *cfi_insn)
1208 /* Get the scratchpad FRE currently being updated as the cfi_insn's
1217 sframe_fre_set_end_addr (cur_fre, cfi_insn->u.ll.lab2);
1230 sframe_fre_set_end_addr (last_fre, cfi_insn->u.ll.lab2);
1241 sframe_fre_set_begin_addr (cur_fre, cfi_insn->u.ll.lab2);
1251 const struct cfi_insn_data *cfi_insn)
1264 offsetT offset = cfi_insn->u.ri.offset;
1284 if (cfi_insn->u.ri.reg != SFRAME_CFA_SP_REG
1285 && cfi_insn->u.ri.reg != SFRAME_CFA_FP_REG)
1291 cfi_insn->u.ri.reg);
1298 sframe_fre_set_cfa_base_reg (cur_fre, cfi_insn->u.ri.reg);
1299 sframe_fre_set_cfa_offset (cur_fre, cfi_insn->u.ri.offset);
1311 const struct cfi_insn_data *cfi_insn)
1321 if (cfi_insn->u.r != SFRAME_CFA_SP_REG
1322 && cfi_insn->u.r != SFRAME_CFA_FP_REG)
1328 cfi_insn->u.ri.reg);
1336 sframe_fre_set_cfa_base_reg (cur_fre, cfi_insn->u.r);
1351 const struct cfi_insn_data *cfi_insn)
1353 /* The scratchpad FRE currently being updated with each cfi_insn
1365 if (sframe_fre_stack_offset_bound_p (cfi_insn->u.i, true))
1367 sframe_fre_set_cfa_offset (cur_fre, cfi_insn->u.i);
1394 const struct cfi_insn_data *cfi_insn)
1396 /* The scratchpad FRE currently being updated with each cfi_insn
1407 && cfi_insn->u.ri.reg == SFRAME_CFA_RA_REG
1408 && cfi_insn->u.ri.offset != sframe_cfa_ra_offset ())
1411 sframe_register_name (cfi_insn->u.ri.reg), cfi_insn->u.ri.reg);
1418 if (cfi_insn->u.ri.reg == SFRAME_CFA_FP_REG)
1420 sframe_fre_set_fp_track (cur_fre, cfi_insn->u.ri.offset);
1429 else if (cfi_insn->u.ri.reg == SFRAME_CFA_RA_REG)
1432 && cfi_insn->u.ri.offset == sframe_cfa_ra_offset ())
1442 sframe_fre_set_ra_track (cur_fre, cfi_insn->u.ri.offset);
1460 When CFI_ESC_P is true, the CFI_INSN is hand-crafted using CFI_escape
1465 const struct cfi_insn_data *cfi_insn,
1472 if (cfi_insn->u.ri.reg == SFRAME_CFA_FP_REG
1473 || (sframe_ra_tracking_p () && cfi_insn->u.ri.reg == SFRAME_CFA_RA_REG)
1475 || (cfi_insn->u.ri.reg == SFRAME_CFA_SP_REG
1477 && cfi_insn->u.ri.offset != 0)
1479 && cfi_insn->u.ri.offset != SFRAME_S390X_SP_VAL_OFFSET))))
1483 sframe_register_name (cfi_insn->u.ri.reg), cfi_insn->u.ri.reg);
1504 const struct cfi_insn_data *cfi_insn)
1510 if (cfi_insn->u.rr.reg1 == SFRAME_CFA_FP_REG)
1514 cur_fre->fp_reg = cfi_insn->u.rr.reg2;
1520 else if (cfi_insn->u.rr.reg1 == SFRAME_CFA_RA_REG)
1524 cur_fre->ra_reg = cfi_insn->u.rr.reg2;
1534 if (cfi_insn->u.rr.reg1 == SFRAME_CFA_RA_REG
1536 || (cfi_insn->u.rr.reg1 == SFRAME_CFA_SP_REG
1538 || cfi_insn->u.rr.reg1 == SFRAME_CFA_FP_REG)
1541 cfi_insn->u.rr.reg1), cfi_insn->u.rr.reg1);
1580 /* The scratchpad FRE currently being updated with each cfi_insn
1601 const struct cfi_insn_data *cfi_insn)
1604 /* The scratchpad FRE currently being updated with each cfi_insn
1621 if (cfi_insn->u.r == SFRAME_CFA_FP_REG)
1629 && cfi_insn->u.r == SFRAME_CFA_RA_REG)
1645 const struct cfi_insn_data *cfi_insn ATTRIBUTE_UNUSED)
1662 const struct cfi_insn_data *cfi_insn ATTRIBUTE_UNUSED)
1682 const struct cfi_insn_data *cfi_insn)
1689 return sframe_xlate_do_aarch64_negate_ra_state (xlate_ctx, cfi_insn);
1741 const struct cfi_insn_data *cfi_insn,
1744 const struct cfi_escape_data *e = cfi_insn->u.esc;
1841 const struct cfi_insn_data *cfi_insn,
1844 const struct cfi_escape_data *e = cfi_insn->u.esc;
1950 const struct cfi_insn_data *cfi_insn,
1953 const struct cfi_escape_data *e = cfi_insn->u.esc;
2030 const struct cfi_insn_data *cfi_insn,
2033 const struct cfi_escape_data *e = cfi_insn->u.esc;
2088 const struct cfi_insn_data *cfi_insn)
2095 e = cfi_insn->u.esc;
2124 err = sframe_xlate_do_escape_cfa_expr (xlate_ctx, cfi_insn, &warn_p);
2128 err = sframe_xlate_do_escape_expr (xlate_ctx, cfi_insn, &warn_p);
2132 err = sframe_xlate_do_escape_val_offset (xlate_ctx, cfi_insn, &warn_p);
2136 err = sframe_xlate_do_escape_gnu_args_size (xlate_ctx, cfi_insn, &warn_p);
2175 const struct cfi_insn_data *cfi_insn)
2177 if (cfi_insn->u.r == SFRAME_CFA_FP_REG
2178 || cfi_insn->u.r == SFRAME_CFA_SP_REG)
2181 sframe_register_name (cfi_insn->u.r), cfi_insn->u.r);
2184 else if (cfi_insn->u.r == SFRAME_CFA_RA_REG)
2235 const struct cfi_insn_data *cfi_insn)
2239 if (sframe_ra_tracking_p () && cfi_insn->u.r == SFRAME_CFA_RA_REG)
2246 else if (cfi_insn->u.r == SFRAME_CFA_FP_REG)
2297 /* Process CFI_INSN and update the translation context with the FRE
2300 Returns an error code (sframe_xlate_err) if CFI_INSN is not successfully
2305 const struct cfi_insn_data *cfi_insn)
2309 /* Atleast one cfi_insn per FDE is expected. */
2310 gas_assert (cfi_insn);
2311 int op = cfi_insn->insn;
2316 err = sframe_xlate_do_advance_loc (xlate_ctx, cfi_insn);
2319 err = sframe_xlate_do_def_cfa (xlate_ctx, cfi_insn);
2322 err = sframe_xlate_do_def_cfa_register (xlate_ctx, cfi_insn);
2325 err = sframe_xlate_do_def_cfa_offset (xlate_ctx, cfi_insn);
2328 err = sframe_xlate_do_offset (xlate_ctx, cfi_insn);
2331 err = sframe_xlate_do_val_offset (xlate_ctx, cfi_insn, false);
2340 err = sframe_xlate_do_restore (xlate_ctx, cfi_insn);
2345 err = sframe_xlate_do_gnu_window_save (xlate_ctx, cfi_insn);
2348 err = sframe_xlate_do_aarch64_negate_ra_state_with_pc (xlate_ctx, cfi_insn);
2351 err = sframe_xlate_do_register (xlate_ctx, cfi_insn);
2354 err = sframe_xlate_do_cfi_escape (xlate_ctx, cfi_insn);
2357 err = sframe_xlate_do_cfi_undefined (xlate_ctx, cfi_insn);
2360 err = sframe_xlate_do_same_value (xlate_ctx, cfi_insn);
2385 const struct cfi_insn_data *cfi_insn;
2399 for (cfi_insn = dw_fde->data; cfi_insn; cfi_insn = cfi_insn->next)
2402 err = sframe_do_cfi_insn (xlate_ctx, cfi_insn);