Simplify code a bit, and be sure to mark the external node as potentially throwing

llvm-svn: 12856
This commit is contained in:
Chris Lattner 2004-04-12 04:06:38 +00:00
parent 43f754339a
commit 1c83ee0436

View File

@ -51,9 +51,9 @@ bool PruneEH::runOnSCC(const std::vector<CallGraphNode *> &SCC) {
// obviously the SCC might throw.
//
bool SCCMightThrow = false;
for (unsigned i = 0, e = SCC.size(); !SCCMightThrow && i != e; ++i)
if (Function *F = SCC[i]->getFunction())
if (F->isExternal() && !F->getIntrinsicID()) {
for (unsigned i = 0, e = SCC.size(); !SCCMightThrow && i != e; ++i) {
Function *F = SCC[i]->getFunction();
if (F == 0 || (F->isExternal() && !F->getIntrinsicID())) {
SCCMightThrow = true;
} else {
// Check to see if this function performs an unwind or calls an
@ -87,7 +87,7 @@ bool PruneEH::runOnSCC(const std::vector<CallGraphNode *> &SCC) {
if (SCCMightThrow) break;
}
}
}
bool MadeChange = false;
for (unsigned i = 0, e = SCC.size(); i != e; ++i) {