Lines Matching refs:phi
26 // remove phi-sources from a removed edge
30 // This function will only remove a single phi-source per edge.
37 pseudo_t phi;
44 // found a phi-node in the target BB,
45 // now look after its phi-sources.
46 FOR_EACH_PTR(insn->phi_list, phi) {
47 struct instruction *phisrc = phi->def;
49 if (phi == VOID)
54 // found a phi-source corresponding to this edge:
56 REPLACE_CURRENT_PTR(phi, VOID);
62 } END_FOR_EACH_PTR(phi);
86 * Dammit, if we have a phi-node followed by a conditional
87 * branch on that phi-node, we should damn well be able to
169 // :note: something could be done for phi-sources but ... we'll see.
193 // check if the sources of a phi-node match with the parent BBs
197 pseudo_t phi;
200 FOR_EACH_PTR(node->phi_list, phi) {
201 if (phi == VOID || !phi->def)
203 if (phi->def->bb != bb)
206 } END_FOR_EACH_PTR(phi);
218 * - the phi-node that the conditional branch depends on
221 * We need to check if any of the _sources_ of the phi-node
227 pseudo_t phi;
237 FOR_EACH_PTR(first->phi_list, phi) {
238 struct instruction *def = phi->def;
266 kill_use(THIS_ADDRESS(phi));
267 } END_FOR_EACH_PTR(phi);
849 pseudo_t phi;
856 FOR_EACH_PTR(node->phi_list, phi) {
859 if (phi == VOID)
861 phisrc = phi->def;
866 } END_FOR_EACH_PTR(phi);
871 pseudo_t phi;
873 FOR_EACH_PTR(insn->phi_list, phi) {
876 if (phi == VOID)
879 def = phi->def;
886 } END_FOR_EACH_PTR(phi);