Lines Matching refs:exits

90                               vector<exit_info> &exits) {  in checkAndAddExitCandidate()  argument
103 exits.push_back(move(v_exit)); in checkAndAddExitCandidate()
109 vector<exit_info> &exits) { in findExits() argument
110 exits.clear(); in findExits()
112 checkAndAddExitCandidate(g, r, v, exits); in findExits()
118 NFAVertex new_v, vector<exit_info> &exits) { in refineExits() argument
120 for (auto &exit : exits) { in refineExits()
125 exits.erase(remove_if(exits.begin(), exits.end(), in refineExits()
127 exits.end()); in refineExits()
129 checkAndAddExitCandidate(g, r, new_v, exits); in refineExits()
135 bool exitValid(UNUSED const AcyclicGraph &g, const vector<exit_info> &exits, in exitValid() argument
137 if (exits.empty() || (exits.size() < 2 && open_jumps.empty())) { in exitValid()
140 if (exits.size() == 1 && open_jumps.size() == 1) { in exitValid()
142 g[exits[0].exit].index); in exitValid()
143 if (*open_jumps.begin() == exits[0].exit) { in exitValid()
148 assert(!exits.empty()); in exitValid()
149 const auto &enters = exits.front().open; in exitValid()
155 for (auto it = begin(exits) + 1; it != end(exits); ++it) { in exitValid()
179 vector<exit_info> &exits, in buildInitialCandidate() argument
183 exits.clear(); in buildInitialCandidate()
187 if (exits.empty()) { in buildInitialCandidate()
193 checkAndAddExitCandidate(g, candidate, *it, exits); in buildInitialCandidate()
200 auto &enters = exits.front().open; in buildInitialCandidate()
220 findExits(g, candidate, exits); in buildInitialCandidate()
239 vector<exit_info> exits; in findDagLeaders() local
240 findExits(g, candidate, exits); in findDagLeaders()
245 if (exitValid(g, exits, open_jumps)) { in findDagLeaders()
256 buildInitialCandidate(g, t_it, topo.rend(), candidate, exits, in findDagLeaders()
263 refineExits(g, candidate, *t_it, exits); in findDagLeaders()
265 exits.size()); in findDagLeaders()