Lines Matching refs:pseudo

35 struct pseudo void_pseudo = {};
98 const char *show_pseudo(pseudo_t pseudo)
105 if (!pseudo)
106 return "no pseudo";
107 if (pseudo == VOID)
110 switch(pseudo->type) {
112 struct symbol *sym = pseudo->sym;
143 i = snprintf(buf, 64, "%%r%d", pseudo->nr);
144 if (pseudo->ident)
145 sprintf(buf+i, "(%s)", show_ident(pseudo->ident));
148 long long value = pseudo->value;
156 snprintf(buf, 64, "%%arg%d", pseudo->nr);
159 i = snprintf(buf, 64, "%%phi%d", pseudo->nr);
160 if (pseudo->ident)
161 sprintf(buf+i, "(%s)", show_ident(pseudo->ident));
166 snprintf(buf, 64, "<bad pseudo type %d>", pseudo->type);
287 if (entry->pseudo)
288 buf += sprintf(buf, " (%s)", show_pseudo(entry->pseudo));
434 struct pseudo *arg;
573 static void show_symbol_usage(pseudo_t pseudo)
577 if (pseudo) {
578 FOR_EACH_PTR(pseudo->users, pu) {
595 if (!sym->pseudo)
597 if (!sym->pseudo->users)
602 show_symbol_usage(sym->pseudo);
760 struct pseudo * pseudo = __alloc_pseudo(0);
761 pseudo->type = PSEUDO_REG;
762 pseudo->nr = ++nr;
763 pseudo->def = def;
764 return pseudo;
769 pseudo_t pseudo;
774 pseudo = sym->pseudo;
775 if (!pseudo) {
776 pseudo = __alloc_pseudo(0);
777 pseudo->nr = -1;
778 pseudo->type = PSEUDO_SYM;
779 pseudo->sym = sym;
780 pseudo->ident = sym->ident;
781 sym->pseudo = pseudo;
782 add_pseudo(&ep->accesses, pseudo);
785 return pseudo;
794 pseudo_t pseudo;
796 FOR_EACH_PTR(*list, pseudo) {
797 if (pseudo->value == val)
798 return pseudo;
799 } END_FOR_EACH_PTR(pseudo);
801 pseudo = __alloc_pseudo(0);
802 pseudo->type = PSEUDO_VAL;
803 pseudo->value = val;
804 add_pseudo(list, pseudo);
807 return pseudo;
812 pseudo_t pseudo = __alloc_pseudo(0);
813 pseudo->type = PSEUDO_UNDEF;
814 return pseudo;
819 pseudo_t pseudo = __alloc_pseudo(0);
822 pseudo->type = PSEUDO_ARG;
823 pseudo->nr = nr;
824 pseudo->def = entry;
825 add_pseudo(&entry->arg_list, pseudo);
828 return pseudo;
831 struct instruction *alloc_phisrc(pseudo_t pseudo, struct symbol *type)
841 use_pseudo(insn, pseudo, &insn->phi_src);
846 pseudo_t alloc_phi(struct basic_block *source, pseudo_t pseudo, struct symbol *type)
853 insn = alloc_phisrc(pseudo, type);
903 pseudo_t address; // pseudo containing address ..
1984 pseudo_t pseudo;
1987 pseudo = VOID;
1989 pseudo = linearize_statement(ep, s);
1992 return pseudo;
2014 pseudo_t pseudo;
2016 pseudo = linearize_compound_statement(ep, stmt);
2028 pseudo = phi_node->target;
2029 return pseudo;
2037 pseudo_t pseudo;
2049 pseudo = linearize_fn_statement(ep, stmt);
2050 insn->target = pseudo;
2057 return pseudo;
2085 static void add_asm_rule(struct instruction *insn, struct asm_constraint_list **list, struct asm_operand *op, pseudo_t pseudo)
2091 use_pseudo(insn, pseudo, &rule->pseudo);
2097 pseudo_t pseudo = linearize_expression(ep, op->expr);
2099 add_asm_rule(insn, &insn->asm_rules->inputs, op, pseudo);
2104 pseudo_t pseudo;
2109 pseudo = linearize_expression(ep, op->expr);
2110 add_asm_rule(insn, &insn->asm_rules->outputs, op, pseudo);
2117 pseudo_t pseudo;
2124 pseudo = alloc_pseudo(insn);
2125 linearize_store_gen(ep, pseudo, &ad);
2127 add_asm_rule(insn, &insn->asm_rules->outputs, op, pseudo);
2235 pseudo_t pseudo;
2239 pseudo = linearize_expression(ep, expr);
2247 use_pseudo(switch_ins, pseudo, &switch_ins->cond);
2398 pseudo_t pseudo;
2419 pseudo = linearize_expression(ep, expr);
2421 use_pseudo(goto_ins, pseudo, &goto_ins->src);