Lines Matching refs:cfa

323 	cfi->cfa.base = CFI_UNDEFINED;
2268 state->cfa = initial_func_cfi.cfa;
2271 state->stack_size = initial_func_cfi.cfa.offset;
2361 if (arch_decode_hint_reg(hint->sp_reg, &cfi.cfa.base)) {
2366 cfi.cfa.offset = bswap_if_needed(file->elf, hint->sp_offset);
2757 if (cfi->cfa.base != initial_func_cfi.cfa.base || cfi->drap)
2760 if (cfi->cfa.offset != initial_func_cfi.cfa.offset)
2763 if (cfi->stack_size != initial_func_cfi.cfa.offset)
2786 if (cfi->cfa.base == CFI_BP &&
2787 check_reg_frame_pos(&cfi->regs[CFI_BP], -cfi->cfa.offset) &&
2788 check_reg_frame_pos(&cfi->regs[CFI_RA], -cfi->cfa.offset + 8))
2801 struct cfi_reg *cfa = &cfi->cfa;
2803 if (cfa->base != CFI_SP && cfa->base != CFI_SP_INDIRECT)
2808 cfa->offset += 8;
2812 cfa->offset -= 8;
2817 cfa->offset -= op->src.offset;
2894 struct cfi_reg *cfa = &cfi->cfa;
2902 if (cfa->base == CFI_UNDEFINED) {
2921 cfa->base == CFI_SP &&
2922 check_reg_frame_pos(&regs[CFI_BP], -cfa->offset)) {
2925 cfa->base = op->dest.reg;
2938 else if (op->src.reg == CFI_SP && cfa->base == CFI_SP) {
2955 (cfa->base == CFI_BP || cfa->base == cfi->drap_reg)) {
2965 else if (op->dest.reg == cfa->base) {
2968 if (cfa->base == CFI_SP &&
2979 cfa->offset = -cfi->vals[op->src.reg].offset;
2980 cfi->stack_size = cfa->offset;
2982 } else if (cfa->base == CFI_SP &&
2984 cfi->vals[op->src.reg].offset == cfa->offset) {
3012 cfa->base = CFI_SP_INDIRECT;
3015 cfa->base = CFI_UNDEFINED;
3016 cfa->offset = 0;
3022 cfi->vals[op->src.reg].offset == cfa->offset) {
3026 * because we can't change cfa->base, case 3)
3041 if (cfa->base == CFI_SP)
3042 cfa->offset -= op->src.offset;
3049 if (cfa->base == CFI_SP && cfa->offset == op->src.offset) {
3050 cfa->base = CFI_BP;
3051 cfa->offset = 0;
3058 if (cfa->base == CFI_BP && cfa->offset == 0) {
3060 cfa->base = CFI_SP;
3061 cfa->offset = -op->src.offset;
3070 if (op->src.reg == CFI_SP && cfa->base == CFI_SP) {
3096 cfa->base = CFI_SP;
3097 cfa->offset = cfi->stack_size = -op->src.offset;
3103 if (op->dest.reg == cfi->cfa.base && !(next_insn && next_insn->hint)) {
3112 (cfi->drap_reg != CFI_UNDEFINED && cfa->base != CFI_SP) ||
3113 (cfi->drap_reg == CFI_UNDEFINED && cfa->base != CFI_BP)) {
3120 cfa->base = cfi->drap_reg;
3121 cfa->offset = cfi->stack_size = 0;
3134 if (op->dest.reg == CFI_SP && cfa->base == CFI_SP_INDIRECT) {
3137 cfa->base = CFI_SP;
3141 if (!cfi->drap && op->dest.reg == cfa->base) {
3144 cfa->base = CFI_SP;
3147 if (cfi->drap && cfa->base == CFI_BP_INDIRECT &&
3152 cfa->base = cfi->drap_reg;
3153 cfa->offset = 0;
3163 if (cfa->base == CFI_SP)
3164 cfa->offset -= 8;
3169 if (!cfi->drap && op->dest.reg == cfa->base &&
3173 cfa->base = CFI_SP;
3174 cfa->offset = cfi->stack_size;
3181 cfa->base = cfi->drap_reg;
3182 cfa->offset = 0;
3192 } else if (op->src.reg == cfa->base &&
3193 op->src.offset == regs[op->dest.reg].offset + cfa->offset) {
3218 if (cfa->base == CFI_SP)
3219 cfa->offset += 8;
3225 if (op->src.reg == cfa->base && op->src.reg == cfi->drap_reg) {
3228 cfa->base = CFI_BP_INDIRECT;
3229 cfa->offset = -cfi->stack_size;
3234 } else if (op->src.reg == CFI_BP && cfa->base == cfi->drap_reg) {
3253 cfa->base != CFI_BP)
3260 if (op->src.reg == cfa->base && op->src.reg == cfi->drap_reg) {
3263 cfa->base = CFI_BP_INDIRECT;
3264 cfa->offset = op->dest.offset;
3274 } else if (op->dest.reg == cfa->base) {
3279 op->dest.offset - cfi->cfa.offset);
3291 cfi->vals[op->dest.reg].offset = cfa->offset;
3304 if (cfa->base == CFI_SP)
3305 cfa->offset -= 8;
3406 if (memcmp(&cfi1->cfa, &cfi2->cfa, sizeof(cfi1->cfa))) {
3409 cfi1->cfa.base, cfi1->cfa.offset,
3410 cfi2->cfa.base, cfi2->cfa.offset);
3878 if (state.cfi.cfa.base == CFI_UNDEFINED)