mirror of
https://github.com/RPCSX/llvm.git
synced 2025-02-12 15:51:40 +00:00
[LCG] Switch a weird do/while loop that actually couldn't fail its
condition into an obviously infinite loop with an assert about the degenerate condition. No functionality changed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207147 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
01f21349f2
commit
2a25daa0a9
@ -444,7 +444,7 @@ LazyCallGraph::SCC *LazyCallGraph::getNextSCCInPostOrder() {
|
||||
DFSStack.push_back(std::make_pair(&N, N.begin()));
|
||||
}
|
||||
|
||||
do {
|
||||
for (;;) {
|
||||
Node *N = DFSStack.back().first;
|
||||
assert(N->DFSNumber != 0 && "We should always assign a DFS number "
|
||||
"before placing a node onto the stack.");
|
||||
@ -479,16 +479,15 @@ LazyCallGraph::SCC *LazyCallGraph::getNextSCCInPostOrder() {
|
||||
// Form the new SCC out of the top of the DFS stack.
|
||||
return formSCC(N, PendingSCCStack);
|
||||
|
||||
assert(!DFSStack.empty() && "We never found a viable root!");
|
||||
|
||||
// At this point we know that N cannot ever be an SCC root. Its low-link
|
||||
// is not its dfs-number, and we've processed all of its children. It is
|
||||
// just sitting here waiting until some node further down the stack gets
|
||||
// low-link == dfs-number and pops it off as well. Move it to the pending
|
||||
// stack which is pulled into the next SCC to be formed.
|
||||
PendingSCCStack.push_back(N);
|
||||
} while (!DFSStack.empty());
|
||||
|
||||
llvm_unreachable(
|
||||
"We cannot reach the bottom of the stack without popping an SCC.");
|
||||
}
|
||||
}
|
||||
|
||||
char LazyCallGraphAnalysis::PassID;
|
||||
|
Loading…
x
Reference in New Issue
Block a user