Lines Matching defs:cfa

272 	cfi->cfa.base = CFI_UNDEFINED;
2197 state->cfa = initial_func_cfi.cfa;
2200 state->stack_size = initial_func_cfi.cfa.offset;
2280 if (arch_decode_hint_reg(hint->sp_reg, &cfi.cfa.base)) {
2285 cfi.cfa.offset = bswap_if_needed(file->elf, hint->sp_offset);
2673 if (cfi->cfa.base != initial_func_cfi.cfa.base || cfi->drap)
2676 if (cfi->cfa.offset != initial_func_cfi.cfa.offset)
2679 if (cfi->stack_size != initial_func_cfi.cfa.offset)
2702 if (cfi->cfa.base == CFI_BP &&
2703 check_reg_frame_pos(&cfi->regs[CFI_BP], -cfi->cfa.offset) &&
2704 check_reg_frame_pos(&cfi->regs[CFI_RA], -cfi->cfa.offset + 8))
2717 struct cfi_reg *cfa = &cfi->cfa;
2719 if (cfa->base != CFI_SP && cfa->base != CFI_SP_INDIRECT)
2724 cfa->offset += 8;
2728 cfa->offset -= 8;
2733 cfa->offset -= op->src.offset;
2810 struct cfi_reg *cfa = &cfi->cfa;
2818 if (cfa->base == CFI_UNDEFINED) {
2837 cfa->base == CFI_SP &&
2838 check_reg_frame_pos(&regs[CFI_BP], -cfa->offset)) {
2841 cfa->base = op->dest.reg;
2854 else if (op->src.reg == CFI_SP && cfa->base == CFI_SP) {
2871 (cfa->base == CFI_BP || cfa->base == cfi->drap_reg)) {
2881 else if (op->dest.reg == cfa->base) {
2884 if (cfa->base == CFI_SP &&
2895 cfa->offset = -cfi->vals[op->src.reg].offset;
2896 cfi->stack_size = cfa->offset;
2898 } else if (cfa->base == CFI_SP &&
2900 cfi->vals[op->src.reg].offset == cfa->offset) {
2928 cfa->base = CFI_SP_INDIRECT;
2931 cfa->base = CFI_UNDEFINED;
2932 cfa->offset = 0;
2938 cfi->vals[op->src.reg].offset == cfa->offset) {
2942 * because we can't change cfa->base, case 3)
2957 if (cfa->base == CFI_SP)
2958 cfa->offset -= op->src.offset;
2969 if (op->src.reg == CFI_SP && cfa->base == CFI_SP) {
2995 cfa->base = CFI_SP;
2996 cfa->offset = cfi->stack_size = -op->src.offset;
3002 if (op->dest.reg == cfi->cfa.base && !(next_insn && next_insn->hint)) {
3011 (cfi->drap_reg != CFI_UNDEFINED && cfa->base != CFI_SP) ||
3012 (cfi->drap_reg == CFI_UNDEFINED && cfa->base != CFI_BP)) {
3019 cfa->base = cfi->drap_reg;
3020 cfa->offset = cfi->stack_size = 0;
3033 if (op->dest.reg == CFI_SP && cfa->base == CFI_SP_INDIRECT) {
3036 cfa->base = CFI_SP;
3040 if (!cfi->drap && op->dest.reg == cfa->base) {
3043 cfa->base = CFI_SP;
3046 if (cfi->drap && cfa->base == CFI_BP_INDIRECT &&
3051 cfa->base = cfi->drap_reg;
3052 cfa->offset = 0;
3062 if (cfa->base == CFI_SP)
3063 cfa->offset -= 8;
3068 if (!cfi->drap && op->dest.reg == cfa->base &&
3072 cfa->base = CFI_SP;
3073 cfa->offset = cfi->stack_size;
3080 cfa->base = cfi->drap_reg;
3081 cfa->offset = 0;
3091 } else if (op->src.reg == cfa->base &&
3092 op->src.offset == regs[op->dest.reg].offset + cfa->offset) {
3117 if (cfa->base == CFI_SP)
3118 cfa->offset += 8;
3124 if (op->src.reg == cfa->base && op->src.reg == cfi->drap_reg) {
3127 cfa->base = CFI_BP_INDIRECT;
3128 cfa->offset = -cfi->stack_size;
3133 } else if (op->src.reg == CFI_BP && cfa->base == cfi->drap_reg) {
3152 cfa->base != CFI_BP)
3159 if (op->src.reg == cfa->base && op->src.reg == cfi->drap_reg) {
3162 cfa->base = CFI_BP_INDIRECT;
3163 cfa->offset = op->dest.offset;
3173 } else if (op->dest.reg == cfa->base) {
3178 op->dest.offset - cfi->cfa.offset);
3190 cfi->vals[op->dest.reg].offset = cfa->offset;
3203 if (cfa->base == CFI_SP)
3204 cfa->offset -= 8;
3305 if (memcmp(&cfi1->cfa, &cfi2->cfa, sizeof(cfi1->cfa))) {
3308 cfi1->cfa.base, cfi1->cfa.offset,
3309 cfi2->cfa.base, cfi2->cfa.offset);
3777 if (state.cfi.cfa.base == CFI_UNDEFINED)