Lines Matching refs:blocks

26 static zend_bool dominates(const zend_basic_block *blocks, int a, int b) {  in dominates()  argument
27 while (blocks[b].level > blocks[a].level) { in dominates()
28 b = blocks[b].idom; in dominates()
38 if (predecessor != exclude && !dominates(cfg->blocks, check, predecessor)) { in dominates_other_predecessors()
55 to_block = &ssa->cfg.blocks[to]; in needs_pi()
63 from_block = &ssa->cfg.blocks[from]; in needs_pi()
81 ZEND_MM_ALIGNED_SIZE(sizeof(int) * ssa->cfg.blocks[to].predecessors_count) + in add_pi()
82 sizeof(void*) * ssa->cfg.blocks[to].predecessors_count); in add_pi()
84 memset(phi->sources, 0xff, sizeof(int) * ssa->cfg.blocks[to].predecessors_count); in add_pi()
85 …i**)(((char*)phi->sources) + ZEND_MM_ALIGNED_SIZE(sizeof(int) * ssa->cfg.blocks[to].predecessors_c… in add_pi()
90 phi->next = ssa->blocks[to].phis; in add_pi()
91 ssa->blocks[to].phis = phi; in add_pi()
101 if (ssa->cfg.blocks[to].predecessors_count > 1) { in add_pi()
233 zend_basic_block *blocks = ssa->cfg.blocks; in place_essa_pis() local
237 zend_op *opline = op_array->opcodes + blocks[j].start + blocks[j].len - 1; in place_essa_pis()
241 if ((blocks[j].flags & ZEND_BB_REACHABLE) == 0 || blocks[j].len == 0) { in place_essa_pis()
250 bf = blocks[j].successors[0]; in place_essa_pis()
251 bt = blocks[j].successors[1]; in place_essa_pis()
254 bt = blocks[j].successors[0]; in place_essa_pis()
255 bf = blocks[j].successors[1]; in place_essa_pis()
523 zend_basic_block *blocks = ssa->cfg.blocks; in zend_ssa_rename() local
524 zend_ssa_block *ssa_blocks = ssa->blocks; in zend_ssa_rename()
533 if (blocks[n].next_child >= 0) { in zend_ssa_rename()
553 opline = op_array->opcodes + blocks[n].start; in zend_ssa_rename()
554 end = opline + blocks[n].len; in zend_ssa_rename()
780 int succ = blocks[n].successors[i]; in zend_ssa_rename()
794 for (j = 0; j < blocks[succ].predecessors_count; j++) { in zend_ssa_rename()
803 for (j = 0; j < blocks[succ].predecessors_count; j++) in zend_ssa_rename()
804 if (ssa->cfg.predecessors[blocks[succ].predecessor_offset + j] == n) { in zend_ssa_rename()
807 ZEND_ASSERT(j < blocks[succ].predecessors_count); in zend_ssa_rename()
816 for (j = 0; j < blocks[succ].predecessors_count; j++) { in zend_ssa_rename()
817 if (ssa->cfg.predecessors[blocks[succ].predecessor_offset + j] == n) { in zend_ssa_rename()
821 ZEND_ASSERT(j < blocks[succ].predecessors_count); in zend_ssa_rename()
833 j = blocks[n].children; in zend_ssa_rename()
838 j = blocks[j].next_child; in zend_ssa_rename()
851 zend_basic_block *blocks = ssa->cfg.blocks; in zend_build_ssa() local
872 ssa->blocks = ssa_blocks; in zend_build_ssa()
909 if ((blocks[j].flags & ZEND_BB_REACHABLE) == 0) { in zend_build_ssa()
912 if (blocks[j].predecessors_count > 1) { in zend_build_ssa()
913 if (blocks[j].flags & ZEND_BB_IRREDUCIBLE_LOOP) { in zend_build_ssa()
919 for (k = 0; k < blocks[j].predecessors_count; k++) { in zend_build_ssa()
920 i = ssa->cfg.predecessors[blocks[j].predecessor_offset + k]; in zend_build_ssa()
921 while (i != -1 && i != blocks[j].idom) { in zend_build_ssa()
924 i = blocks[i].idom; in zend_build_ssa()
944 if ((blocks[j].flags & ZEND_BB_REACHABLE) == 0) { in zend_build_ssa()
951 ZEND_MM_ALIGNED_SIZE(sizeof(int) * blocks[j].predecessors_count) + in zend_build_ssa()
952 sizeof(void*) * blocks[j].predecessors_count); in zend_build_ssa()
955 memset(phi->sources, 0xff, sizeof(int) * blocks[j].predecessors_count); in zend_build_ssa()
956 …i**)(((char*)phi->sources) + ZEND_MM_ALIGNED_SIZE(sizeof(int) * ssa->cfg.blocks[j].predecessors_co… in zend_build_ssa()
1057 zend_ssa_phi *phi = ssa->blocks[i].phis; in zend_ssa_compute_use_def_chains()
1087 for (j = 0; j < ssa->cfg.blocks[i].predecessors_count; j++) { in zend_ssa_compute_use_def_chains()