Lines Matching refs:phi

35 	zend_ssa_phi *phi;  in is_in_phi_use_chain()  local
36 FOREACH_PHI_USE(&ssa->vars[var], phi) { in is_in_phi_use_chain()
37 if (phi == check) { in is_in_phi_use_chain()
58 static inline bool is_in_phi_sources(zend_ssa *ssa, zend_ssa_phi *phi, int check) { in is_in_phi_sources() argument
60 FOREACH_PHI_SOURCE(phi, source) { in is_in_phi_sources()
118 zend_ssa_phi *phi; in ssa_verify_integrity() local
174 phi = var->phi_use_chain; in ssa_verify_integrity()
175 zend_ssa_phi *second_phi = phi; in ssa_verify_integrity()
176 while (phi && second_phi) { in ssa_verify_integrity()
177 phi = zend_ssa_next_use_phi(ssa, var - ssa->vars, phi); in ssa_verify_integrity()
183 if (phi == second_phi) { in ssa_verify_integrity()
189 FOREACH_PHI_USE(var, phi) { in ssa_verify_integrity()
190 if (!is_in_phi_sources(ssa, phi, i)) { in ssa_verify_integrity()
191 FAIL("var " VARFMT " not in phi sources of %d\n", VAR(i), phi->ssa_var); in ssa_verify_integrity()
331 FOREACH_PHI(phi) { in ssa_verify_integrity()
332 unsigned num_sources = NUM_PHI_SOURCES(phi); in ssa_verify_integrity()
334 int source = phi->sources[i]; in ssa_verify_integrity()
336 FAIL(VARFMT " negative source\n", VAR(phi->ssa_var)); in ssa_verify_integrity()
338 if (!is_in_phi_use_chain(ssa, source, phi)) { in ssa_verify_integrity()
339 FAIL(VARFMT " not in phi use chain of %d\n", VAR(phi->ssa_var), source); in ssa_verify_integrity()
341 if (ssa->vars[source].var != ssa->vars[phi->ssa_var].var) { in ssa_verify_integrity()
342 FAIL(VARFMT " source of phi for " VARFMT "\n", VAR(source), VAR(phi->ssa_var)); in ssa_verify_integrity()
344 if (phi->use_chains[i]) { in ssa_verify_integrity()
347 if (phi->sources[j] == source && phi->use_chains[j]) { in ssa_verify_integrity()
349 " at %d despite earlier use\n", VAR(source), VAR(phi->ssa_var), j); in ssa_verify_integrity()
354 if (ssa->vars[phi->ssa_var].definition_phi != phi) { in ssa_verify_integrity()
355 FAIL(VARFMT " does not define this phi\n", VAR(phi->ssa_var)); in ssa_verify_integrity()