Lines Matching refs:semiDom
23 size_t UnionFind(std::vector<size_t> &semiDom, std::vector<size_t> &parent, std::vector<size_t> &minIdx, size_t idx)
34 if (semiDom[minIdx[allIdxs.top()]] > semiDom[minIdx[pIdx]]) {
81 std::vector<size_t> semiDom(bbGatesList.size());
88 size_t parentFatherIdx = UnionFind(semiDom, parent, minIdx, fatherIdx);
89 size_t parentSonIdx = UnionFind(semiDom, parent, minIdx, sonIdx);
92 std::iota(semiDom.begin(), semiDom.end(), 0);
93 semiDom[0] = semiDom.size();
102 semiDom[idx] = std::min(semiDom[idx], preGateIdx);
104 UnionFind(semiDom, parent, minIdx, preGateIdx);
105 semiDom[idx] = std::min(semiDom[idx], semiDom[minIdx[preGateIdx]]);
110 UnionFind(semiDom, parent, minIdx, succDomIdx);
111 if (idx == semiDom[minIdx[succDomIdx]]) {
119 semiDomTree[semiDom[idx]].push_back(idx);
122 if (immDom[idx] != semiDom[idx]) {
126 semiDom[0] = 0;