mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-08 03:30:22 +00:00
Simplify this some more. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56003 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e4c6b61ebd
commit
7ca9d81bce
@ -124,26 +124,19 @@ private:
|
||||
}
|
||||
}
|
||||
|
||||
// Loop over all of the users of the function, looking for non-call uses.
|
||||
for (Value::use_iterator I = F->use_begin(), E = F->use_end(); I != E; ++I)
|
||||
if ((!isa<CallInst>(*I) && !isa<InvokeInst>(*I)) || I.getOperandNo()) {
|
||||
// Not a call, or being used as a parameter rather than as the callee.
|
||||
ExternalCallingNode->addCalledFunction(CallSite(), Node);
|
||||
break;
|
||||
}
|
||||
|
||||
// If this function is not defined in this translation unit, it could call
|
||||
// anything.
|
||||
if (F->isDeclaration() && !F->isIntrinsic())
|
||||
Node->addCalledFunction(CallSite(), CallsExternalNode);
|
||||
|
||||
// Loop over all of the users of the function, looking for non-call uses.
|
||||
bool isUsedExternally = false;
|
||||
for (Value::use_iterator I = F->use_begin(), E = F->use_end();
|
||||
I != E && !isUsedExternally; ++I) {
|
||||
if (Instruction *Inst = dyn_cast<Instruction>(*I)) {
|
||||
CallSite CS = CallSite::get(Inst);
|
||||
// Not a call? Or F being passed as a parameter not as the callee?
|
||||
isUsedExternally = !CS.getInstruction() || I.getOperandNo();
|
||||
} else { // User is not a direct call!
|
||||
isUsedExternally = true;
|
||||
}
|
||||
}
|
||||
if (isUsedExternally)
|
||||
ExternalCallingNode->addCalledFunction(CallSite(), Node);
|
||||
|
||||
// Look for calls by this function.
|
||||
for (Function::iterator BB = F->begin(), BBE = F->end(); BB != BBE; ++BB)
|
||||
for (BasicBlock::iterator II = BB->begin(), IE = BB->end();
|
||||
|
Loading…
Reference in New Issue
Block a user