Lines Matching refs:idx

23 size_t UnionFind(std::vector<size_t> &semiDom, std::vector<size_t> &parent, std::vector<size_t> &minIdx, size_t idx)
26 allIdxs.emplace(idx);
27 size_t pIdx = parent[idx];
76 for (size_t idx = 0; idx < bbGatesList.size(); idx++) {
77 bbGatesAddrToIdx[bbGatesList[idx]] = idx;
95 for (size_t idx = bbGatesList.size() - 1; idx >= 1; idx--) {
97 acc.GetInStates(bbGatesList[idx], preGates);
101 if (preGateIdx < idx) {
102 semiDom[idx] = std::min(semiDom[idx], preGateIdx);
105 semiDom[idx] = std::min(semiDom[idx], semiDom[minIdx[preGateIdx]]);
109 for (const auto &succDomIdx : semiDomTree[idx]) {
111 if (idx == semiDom[minIdx[succDomIdx]]) {
112 immDom[succDomIdx] = idx;
117 minIdx[idx] = idx;
118 merge(dfsFatherIdx[bbGatesList[idx]], idx);
119 semiDomTree[semiDom[idx]].push_back(idx);
121 for (size_t idx = 1; idx < bbGatesList.size(); idx++) {
122 if (immDom[idx] != semiDom[idx]) {
123 immDom[idx] = immDom[immDom[idx]];
140 for (size_t idx = 0; idx < bbGatesList.size(); idx++) {
141 result[idx].push_back(bbGatesList[idx]);
145 for (size_t idx = 1; idx < immDom.size(); idx++) {
146 sonList[immDom[idx]].push_back(idx);
158 size_t idx;
173 auto &idx = curState.idx;
174 if (idx == succList.size()) {
179 const auto &succ = succList[idx];
187 idx++;
247 size_t idx = 0;
288 auto &idx = curState.idx;
290 if (idx == predGates.size()) {
311 idx++;
313 const auto &predGate = predGates[idx];
372 size_t idx = 0;
384 auto &idx = curState.idx;
385 if (idx == prevGates.size()) {
389 const auto &prevGate = prevGates[idx];
391 ++idx;
401 ++idx;
407 size_t idx = 0;
421 auto &idx = curState.idx;
422 if (idx == prevGates.size()) {
426 const auto &prevGate = prevGates[idx];
428 ++idx;
436 ASSERT(idx > 0);
437 curLowerBound = bbGatesAddrToIdx.at(acc.GetIn(acc.GetIn(curGate, 0), idx - 1));
439 ASSERT(idx > 0);
459 ++idx;