performance: cache the dereferenced use_iterator

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101253 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Gabor Greif 2010-04-14 16:48:56 +00:00
parent de4c0a7da7
commit 67894a3d02

View File

@ -46,10 +46,11 @@ namespace {
bool valueEscapes(const Instruction *Inst) const {
const BasicBlock *BB = Inst->getParent();
for (Value::const_use_iterator UI = Inst->use_begin(),E = Inst->use_end();
UI != E; ++UI)
if (cast<Instruction>(*UI)->getParent() != BB ||
isa<PHINode>(*UI))
UI != E; ++UI) {
const Instruction *I = cast<Instruction>(*UI);
if (I->getParent() != BB || isa<PHINode>(I))
return true;
}
return false;
}