/* Define the current CFA rule to use the provided register and
offset. However, if the register is not FP/SP, skip creating
SFrame stack trace info for the function. */
- if (cfi_insn->u.r != SFRAME_CFA_SP_REG
- && cfi_insn->u.r != SFRAME_CFA_FP_REG)
+ if (cfi_insn->u.ri.reg != SFRAME_CFA_SP_REG
+ && cfi_insn->u.ri.reg != SFRAME_CFA_FP_REG)
{
as_warn (_("skipping SFrame FDE; non-SP/FP register %u in .cfi_def_cfa"),
- cfi_insn->u.r);
+ cfi_insn->u.ri.reg);
return SFRAME_XLATE_ERR_NOTREPRESENTED; /* Not represented. */
}
sframe_fre_set_cfa_base_reg (cur_fre, cfi_insn->u.ri.reg);
cfi_insn->u.r);
return SFRAME_XLATE_ERR_NOTREPRESENTED; /* Not represented. */
}
- sframe_fre_set_cfa_base_reg (cur_fre, cfi_insn->u.ri.reg);
+ sframe_fre_set_cfa_base_reg (cur_fre, cfi_insn->u.r);
sframe_fre_set_cfa_offset (cur_fre, last_fre->cfa_offset);
cur_fre->merge_candidate = false;
/* Change the rule for the register indicated by the register number to
be the specified offset. */
/* Ignore SP reg, as it can be recovered from the CFA tracking info. */
- if (cfi_insn->u.r == SFRAME_CFA_FP_REG)
+ if (cfi_insn->u.ri.reg == SFRAME_CFA_FP_REG)
{
gas_assert (!cur_fre->base_reg);
sframe_fre_set_bp_track (cur_fre, cfi_insn->u.ri.offset);
}
#ifdef SFRAME_FRE_RA_TRACKING
else if (sframe_ra_tracking_p ()
- && cfi_insn->u.r == SFRAME_CFA_RA_REG)
+ && cfi_insn->u.ri.reg == SFRAME_CFA_RA_REG)
{
sframe_fre_set_ra_track (cur_fre, cfi_insn->u.ri.offset);
cur_fre->merge_candidate = false;
register is not interesting (FP or RA reg), the current DW_CFA_val_offset
instruction can be safely skipped without sacrificing the asynchronicity of
stack trace information. */
- if (cfi_insn->u.r == SFRAME_CFA_FP_REG
+ if (cfi_insn->u.ri.reg == SFRAME_CFA_FP_REG
#ifdef SFRAME_FRE_RA_TRACKING
- || (sframe_ra_tracking_p () && cfi_insn->u.r == SFRAME_CFA_RA_REG)
+ || (sframe_ra_tracking_p () && cfi_insn->u.ri.reg == SFRAME_CFA_RA_REG)
#endif
/* Ignore SP reg, as it can be recovered from the CFA tracking info. */
)
{
as_warn (_("skipping SFrame FDE; %s register %u in .cfi_val_offset"),
- sframe_register_name (cfi_insn->u.r), cfi_insn->u.r);
+ sframe_register_name (cfi_insn->u.ri.reg), cfi_insn->u.ri.reg);
return SFRAME_XLATE_ERR_NOTREPRESENTED; /* Not represented. */
}