mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-07 04:21:39 +00:00
cache result of operator*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107980 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
c654d1b8c1
commit
03f09a3e32
@ -46,9 +46,11 @@ static bool isUsedOutsideOfDefiningBlock(const Instruction *I) {
|
||||
if (isa<PHINode>(I)) return true;
|
||||
const BasicBlock *BB = I->getParent();
|
||||
for (Value::const_use_iterator UI = I->use_begin(), E = I->use_end();
|
||||
UI != E; ++UI)
|
||||
if (cast<Instruction>(*UI)->getParent() != BB || isa<PHINode>(*UI))
|
||||
UI != E; ++UI) {
|
||||
const User *U = *UI;
|
||||
if (cast<Instruction>(U)->getParent() != BB || isa<PHINode>(U))
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -63,9 +65,11 @@ static bool isOnlyUsedInEntryBlock(const Argument *A, bool EnableFastISel) {
|
||||
|
||||
const BasicBlock *Entry = A->getParent()->begin();
|
||||
for (Value::const_use_iterator UI = A->use_begin(), E = A->use_end();
|
||||
UI != E; ++UI)
|
||||
if (cast<Instruction>(*UI)->getParent() != Entry || isa<SwitchInst>(*UI))
|
||||
UI != E; ++UI) {
|
||||
const User *U = *UI;
|
||||
if (cast<Instruction>(U)->getParent() != Entry || isa<SwitchInst>(U))
|
||||
return false; // Use not in entry block.
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user