Lines Matching refs:var
130 static void ssa_convert_one_var(struct entrypoint *ep, struct symbol *var)
138 unsigned long mod = var->ctype.modifiers;
145 addr = var->pseudo;
158 if (!is_promotable(var))
161 // 1) insert in the worklist all BBs that may modify var
187 warning(var->pos, "symbol '%s' pseudo used in unexpected way",
188 show_ident(var->ident));
202 struct instruction *node = insert_phi_node(bb, var);
203 node->phi_var = var->pseudo;
205 var->torename = 1;
213 static struct instruction *lookup_var(struct basic_block *bb, struct symbol *var)
216 struct instruction *insn = phi_map_lookup(bb->phi_map, var);
247 struct symbol *var;
256 var = addr->sym;
257 if (!var || !var->torename)
259 phi_map_update(&bb->phi_map, var, insn);
266 var = addr->sym;
267 if (!var || !var->torename)
269 def = lookup_var(bb, var);
273 var->torename = false;
281 var = insn->type;
282 if (!var || !var->torename)
284 phi_map_update(&bb->phi_map, var, insn);
322 struct symbol *var;
326 var = insn->phi_var->sym;
327 if (!var->torename)
330 struct instruction *def = lookup_var(par, var);
332 struct instruction *phisrc = alloc_phisrc(val, var);
334 phi->ident = var->ident;
365 struct symbol *var = store->addr->sym;
367 if (var->torename)