Lines Matching refs:state
212 static void update_insn_state_x86(struct type_state *state, in update_insn_state_x86() argument
241 for (unsigned i = 0; i < ARRAY_SIZE(state->regs); i++) { in update_insn_state_x86()
242 if (state->regs[i].caller_saved) in update_insn_state_x86()
243 state->regs[i].ok = false; in update_insn_state_x86()
248 tsr = &state->regs[state->ret_reg]; in update_insn_state_x86()
254 insn_offset, state->ret_reg); in update_insn_state_x86()
267 if (!has_reg_type(state, dst->reg1)) in update_insn_state_x86()
270 tsr = &state->regs[dst->reg1]; in update_insn_state_x86()
275 else if (has_reg_type(state, src->reg1) && in update_insn_state_x86()
276 state->regs[src->reg1].kind == TSR_KIND_CONST) in update_insn_state_x86()
277 imm_value = state->regs[src->reg1].imm_value; in update_insn_state_x86()
327 if (!has_reg_type(state, dst->reg1)) in update_insn_state_x86()
330 tsr = &state->regs[dst->reg1]; in update_insn_state_x86()
382 if (!has_reg_type(state, src->reg1) || in update_insn_state_x86()
383 !state->regs[src->reg1].ok) { in update_insn_state_x86()
388 tsr->type = state->regs[src->reg1].type; in update_insn_state_x86()
389 tsr->kind = state->regs[src->reg1].kind; in update_insn_state_x86()
390 tsr->imm_value = state->regs[src->reg1].imm_value; in update_insn_state_x86()
405 if (!has_reg_type(state, dst->reg1)) in update_insn_state_x86()
408 tsr = &state->regs[dst->reg1]; in update_insn_state_x86()
413 if (sreg == fbreg || sreg == state->stack_reg) { in update_insn_state_x86()
417 stack = find_stack_state(state, offset); in update_insn_state_x86()
446 else if (has_reg_type(state, sreg) && state->regs[sreg].ok && in update_insn_state_x86()
447 state->regs[sreg].kind == TSR_KIND_TYPE && in update_insn_state_x86()
448 die_deref_ptr_type(&state->regs[sreg].type, in update_insn_state_x86()
483 else if (has_reg_type(state, sreg) && in update_insn_state_x86()
484 state->regs[sreg].kind == TSR_KIND_PERCPU_BASE) { in update_insn_state_x86()
492 if (has_reg_type(state, reg2) && state->regs[reg2].ok && in update_insn_state_x86()
493 state->regs[reg2].kind == TSR_KIND_CONST) in update_insn_state_x86()
494 var_addr += state->regs[reg2].imm_value; in update_insn_state_x86()
523 else if (has_reg_type(state, sreg) && state->regs[sreg].ok && in update_insn_state_x86()
524 state->regs[sreg].kind == TSR_KIND_POINTER && in update_insn_state_x86()
525 die_get_member_type(&state->regs[sreg].type, in update_insn_state_x86()
564 if (!has_reg_type(state, src->reg1) || in update_insn_state_x86()
565 !state->regs[src->reg1].ok) in update_insn_state_x86()
569 if (dst->reg1 == fbreg || dst->reg1 == state->stack_reg) { in update_insn_state_x86()
573 tsr = &state->regs[src->reg1]; in update_insn_state_x86()
575 stack = find_stack_state(state, offset); in update_insn_state_x86()
588 findnew_stack_state(state, offset, tsr->kind, in update_insn_state_x86()