mirror of
https://github.com/RPCSX/llvm.git
synced 2025-02-07 13:09:52 +00:00
cache result of operator*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108144 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
b7df500063
commit
aaaaa02a93
@ -1600,13 +1600,15 @@ static bool TryToShrinkGlobalToBoolean(GlobalVariable *GV, Constant *OtherVal) {
|
|||||||
GVElType->isFloatingPointTy() ||
|
GVElType->isFloatingPointTy() ||
|
||||||
GVElType->isPointerTy() || GVElType->isVectorTy())
|
GVElType->isPointerTy() || GVElType->isVectorTy())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// Walk the use list of the global seeing if all the uses are load or store.
|
// Walk the use list of the global seeing if all the uses are load or store.
|
||||||
// If there is anything else, bail out.
|
// If there is anything else, bail out.
|
||||||
for (Value::use_iterator I = GV->use_begin(), E = GV->use_end(); I != E; ++I)
|
for (Value::use_iterator I = GV->use_begin(), E = GV->use_end(); I != E; ++I){
|
||||||
if (!isa<LoadInst>(I) && !isa<StoreInst>(I))
|
User *U = *I;
|
||||||
|
if (!isa<LoadInst>(U) && !isa<StoreInst>(U))
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
DEBUG(dbgs() << " *** SHRINKING TO BOOL: " << *GV);
|
DEBUG(dbgs() << " *** SHRINKING TO BOOL: " << *GV);
|
||||||
|
|
||||||
// Create the new global, initializing it to false.
|
// Create the new global, initializing it to false.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user