Lines Matching defs:cfa
315 cfi->cfa.base = CFI_UNDEFINED;
2209 state->cfa = initial_func_cfi.cfa;
2212 state->stack_size = initial_func_cfi.cfa.offset;
2296 if (arch_decode_hint_reg(hint->sp_reg, &cfi.cfa.base)) {
2301 cfi.cfa.offset = bswap_if_needed(file->elf, hint->sp_offset);
2703 if (cfi->cfa.base != initial_func_cfi.cfa.base || cfi->drap)
2706 if (cfi->cfa.offset != initial_func_cfi.cfa.offset)
2709 if (cfi->stack_size != initial_func_cfi.cfa.offset)
2732 if (cfi->cfa.base == CFI_BP &&
2733 check_reg_frame_pos(&cfi->regs[CFI_BP], -cfi->cfa.offset) &&
2734 check_reg_frame_pos(&cfi->regs[CFI_RA], -cfi->cfa.offset + 8))
2747 struct cfi_reg *cfa = &cfi->cfa;
2749 if (cfa->base != CFI_SP && cfa->base != CFI_SP_INDIRECT)
2754 cfa->offset += 8;
2758 cfa->offset -= 8;
2763 cfa->offset -= op->src.offset;
2840 struct cfi_reg *cfa = &cfi->cfa;
2848 if (cfa->base == CFI_UNDEFINED) {
2867 cfa->base == CFI_SP &&
2868 check_reg_frame_pos(®s[CFI_BP], -cfa->offset)) {
2871 cfa->base = op->dest.reg;
2884 else if (op->src.reg == CFI_SP && cfa->base == CFI_SP) {
2901 (cfa->base == CFI_BP || cfa->base == cfi->drap_reg)) {
2911 else if (op->dest.reg == cfa->base) {
2914 if (cfa->base == CFI_SP &&
2925 cfa->offset = -cfi->vals[op->src.reg].offset;
2926 cfi->stack_size = cfa->offset;
2928 } else if (cfa->base == CFI_SP &&
2930 cfi->vals[op->src.reg].offset == cfa->offset) {
2958 cfa->base = CFI_SP_INDIRECT;
2961 cfa->base = CFI_UNDEFINED;
2962 cfa->offset = 0;
2968 cfi->vals[op->src.reg].offset == cfa->offset) {
2972 * because we can't change cfa->base, case 3)
3001 if (cfa->base == CFI_SP)
3002 cfa->offset -= op->src.offset;
3009 if (cfa->base == CFI_SP && cfa->offset == op->src.offset) {
3010 cfa->base = CFI_BP;
3011 cfa->offset = 0;
3018 if (cfa->base == CFI_BP && cfa->offset == 0) {
3020 cfa->base = CFI_SP;
3021 cfa->offset = -op->src.offset;
3030 if (op->src.reg == CFI_SP && cfa->base == CFI_SP) {
3056 cfa->base = CFI_SP;
3057 cfa->offset = cfi->stack_size = -op->src.offset;
3063 if (op->dest.reg == cfi->cfa.base && !(next_insn && next_insn->hint)) {
3072 (cfi->drap_reg != CFI_UNDEFINED && cfa->base != CFI_SP) ||
3073 (cfi->drap_reg == CFI_UNDEFINED && cfa->base != CFI_BP)) {
3080 cfa->base = cfi->drap_reg;
3081 cfa->offset = cfi->stack_size = 0;
3094 if (op->dest.reg == CFI_SP && cfa->base == CFI_SP_INDIRECT) {
3097 cfa->base = CFI_SP;
3101 if (!cfi->drap && op->dest.reg == cfa->base) {
3104 cfa->base = CFI_SP;
3107 if (cfi->drap && cfa->base == CFI_BP_INDIRECT &&
3112 cfa->base = cfi->drap_reg;
3113 cfa->offset = 0;
3123 if (cfa->base == CFI_SP)
3124 cfa->offset -= 8;
3129 if (!cfi->drap && op->dest.reg == cfa->base &&
3133 cfa->base = CFI_SP;
3134 cfa->offset = cfi->stack_size;
3141 cfa->base = cfi->drap_reg;
3142 cfa->offset = 0;
3152 } else if (op->src.reg == cfa->base &&
3153 op->src.offset == regs[op->dest.reg].offset + cfa->offset) {
3178 if (cfa->base == CFI_SP)
3179 cfa->offset += 8;
3185 if (op->src.reg == cfa->base && op->src.reg == cfi->drap_reg) {
3188 cfa->base = CFI_BP_INDIRECT;
3189 cfa->offset = -cfi->stack_size;
3194 } else if (op->src.reg == CFI_BP && cfa->base == cfi->drap_reg) {
3213 cfa->base != CFI_BP)
3220 if (op->src.reg == cfa->base && op->src.reg == cfi->drap_reg) {
3223 cfa->base = CFI_BP_INDIRECT;
3224 cfa->offset = op->dest.offset;
3234 } else if (op->dest.reg == cfa->base) {
3239 op->dest.offset - cfi->cfa.offset);
3251 cfi->vals[op->dest.reg].offset = cfa->offset;
3264 if (cfa->base == CFI_SP)
3265 cfa->offset -= 8;
3372 if (memcmp(&cfi1->cfa, &cfi2->cfa, sizeof(cfi1->cfa))) {
3375 cfi1->cfa.base, cfi1->cfa.offset,
3376 cfi2->cfa.base, cfi2->cfa.offset);
3949 if (state->cfi.cfa.base == CFI_UNDEFINED)