Lines Matching refs:dest

300 			struct instruction *dest = insn->jump_dest;  in __dead_end_function()  local
302 if (!dest) in __dead_end_function()
316 return __dead_end_function(file, insn_func(dest), recursion+1); in __dead_end_function()
1369 struct symbol *dest, bool sibling) in add_call_dest() argument
1371 insn->_call_dest = dest; in add_call_dest()
1372 if (!dest) in add_call_dest()
1646 struct symbol *dest; in add_call_destinations() local
1658 dest = find_call_destination(insn->sec, dest_off); in add_call_destinations()
1660 ret = add_call_dest(file, insn, dest, false); in add_call_destinations()
1679 dest = find_call_destination(reloc->sym->sec, dest_off); in add_call_destinations()
1680 if (!dest) { in add_call_destinations()
1686 ret = add_call_dest(file, insn, dest, false); in add_call_destinations()
2609 struct symbol *dest = insn_call_dest(insn); in is_special_call() local
2611 if (!dest) in is_special_call()
2614 if (dest->fentry || dest->embedded_insn) in is_special_call()
2676 if (op->dest.type == OP_DEST_PUSH || op->dest.type == OP_DEST_PUSHF) in update_cfi_state_regs()
2684 if (op->dest.type == OP_DEST_REG && op->src.type == OP_SRC_ADD && in update_cfi_state_regs()
2685 op->dest.reg == CFI_SP && op->src.reg == CFI_SP) in update_cfi_state_regs()
2783 switch (op->dest.type) { in update_cfi_state()
2789 if (op->src.reg == CFI_SP && op->dest.reg == CFI_BP && in update_cfi_state()
2794 cfa->base = op->dest.reg; in update_cfi_state()
2799 op->dest.reg == CFI_BP && cfi->drap) { in update_cfi_state()
2819 cfi->vals[op->dest.reg].base = CFI_CFA; in update_cfi_state()
2820 cfi->vals[op->dest.reg].offset = -cfi->stack_size; in update_cfi_state()
2823 else if (op->src.reg == CFI_BP && op->dest.reg == CFI_SP && in update_cfi_state()
2834 else if (op->dest.reg == cfa->base) { in update_cfi_state()
2889 else if (op->dest.reg == CFI_SP && in update_cfi_state()
2906 if (op->dest.reg == CFI_SP && op->src.reg == CFI_SP) { in update_cfi_state()
2915 if (op->dest.reg == CFI_BP && op->src.reg == CFI_SP && in update_cfi_state()
2925 if (op->dest.reg == CFI_SP && op->src.reg == CFI_BP) { in update_cfi_state()
2942 cfi->drap_reg = op->dest.reg; in update_cfi_state()
2954 cfi->vals[op->dest.reg].base = CFI_CFA; in update_cfi_state()
2955 cfi->vals[op->dest.reg].offset = \ in update_cfi_state()
2961 if (cfi->drap && op->dest.reg == CFI_SP && in update_cfi_state()
2972 if (op->dest.reg == cfi->cfa.base && !(next_insn && next_insn->hint)) { in update_cfi_state()
2980 if (op->dest.reg != CFI_SP || in update_cfi_state()
3003 if (op->dest.reg == CFI_SP && cfa->base == CFI_SP_INDIRECT) { in update_cfi_state()
3010 if (!cfi->drap && op->dest.reg == cfa->base) { in update_cfi_state()
3017 op->dest.reg == cfi->drap_reg && in update_cfi_state()
3025 } else if (cfi->stack_size == -regs[op->dest.reg].offset) { in update_cfi_state()
3028 restore_reg(cfi, op->dest.reg); in update_cfi_state()
3038 if (!cfi->drap && op->dest.reg == cfa->base && in update_cfi_state()
3039 op->dest.reg == CFI_BP) { in update_cfi_state()
3056 op->src.offset == regs[op->dest.reg].offset) { in update_cfi_state()
3059 restore_reg(cfi, op->dest.reg); in update_cfi_state()
3062 op->src.offset == regs[op->dest.reg].offset + cfa->offset) { in update_cfi_state()
3066 restore_reg(cfi, op->dest.reg); in update_cfi_state()
3069 op->src.offset == regs[op->dest.reg].offset + cfi->stack_size) { in update_cfi_state()
3072 restore_reg(cfi, op->dest.reg); in update_cfi_state()
3133 cfa->offset = op->dest.offset; in update_cfi_state()
3136 cfi->drap_offset = op->dest.offset; in update_cfi_state()
3140 save_reg(cfi, op->src.reg, CFI_BP, op->dest.offset); in update_cfi_state()
3143 } else if (op->dest.reg == cfa->base) { in update_cfi_state()
3148 op->dest.offset - cfi->cfa.offset); in update_cfi_state()
3150 } else if (op->dest.reg == CFI_SP) { in update_cfi_state()
3154 op->dest.offset - cfi->stack_size); in update_cfi_state()
3156 } else if (op->src.reg == CFI_SP && op->dest.offset == 0) { in update_cfi_state()
3159 cfi->vals[op->dest.reg].base = CFI_SP_INDIRECT; in update_cfi_state()
3160 cfi->vals[op->dest.reg].offset = cfa->offset; in update_cfi_state()
3242 if (op->dest.type == OP_DEST_PUSHF) { in handle_insn_ops()
3853 struct instruction *next, *dest; in validate_unret() local
3905 dest = find_insn(file, insn_call_dest(insn)->sec, in validate_unret()
3907 if (!dest) { in validate_unret()
3913 ret = validate_unret(file, dest); in validate_unret()
4310 struct instruction *dest) in __validate_ibt_insn() argument
4312 if (dest->type == INSN_ENDBR) { in __validate_ibt_insn()
4313 mark_endbr_used(dest); in __validate_ibt_insn()
4317 if (insn_func(dest) && insn_func(insn) && in __validate_ibt_insn()
4318 insn_func(dest)->pfunc == insn_func(insn)->pfunc) { in __validate_ibt_insn()
4340 if (dest->noendbr) in __validate_ibt_insn()
4347 if (noendbr_range(file, dest)) in __validate_ibt_insn()
4350 WARN_INSN(insn, "relocation to !ENDBR: %s", offstr(dest->sec, dest->offset)); in __validate_ibt_insn()
4356 struct instruction *dest; in validate_ibt_insn() local
4383 dest = find_insn(file, insn->sec, off); in validate_ibt_insn()
4384 if (!dest) { in validate_ibt_insn()
4389 return __validate_ibt_insn(file, insn, dest); in validate_ibt_insn()
4410 dest = find_insn(file, reloc->sym->sec, off); in validate_ibt_insn()
4411 if (!dest) in validate_ibt_insn()
4414 warnings += __validate_ibt_insn(file, insn, dest); in validate_ibt_insn()
4423 struct instruction *dest; in validate_ibt_data_reloc() local
4425 dest = find_insn(file, reloc->sym->sec, in validate_ibt_data_reloc()
4427 if (!dest) in validate_ibt_data_reloc()
4430 if (dest->type == INSN_ENDBR) { in validate_ibt_data_reloc()
4431 mark_endbr_used(dest); in validate_ibt_data_reloc()
4435 if (dest->noendbr) in validate_ibt_data_reloc()
4439 "data relocation to !ENDBR: %s", offstr(dest->sec, dest->offset)); in validate_ibt_data_reloc()