mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-07 14:33:15 +00:00
tidy up
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122190 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
2a786eb030
commit
459f4f8c25
@ -1918,36 +1918,35 @@ bool GVN::processInstruction(Instruction *I,
|
||||
|
||||
// Allocations are always uniquely numbered, so we can save time and memory
|
||||
// by fast failing them.
|
||||
if (isa<AllocaInst>(I) || isa<TerminatorInst>(I)) {
|
||||
if (isa<AllocaInst>(I) || isa<TerminatorInst>(I) || isa<PHINode>(I)) {
|
||||
insert_table(Num, I);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (isa<PHINode>(I)) {
|
||||
insert_table(Num, I);
|
||||
|
||||
// If the number we were assigned was a brand new VN, then we don't
|
||||
// need to do a lookup to see if the number already exists
|
||||
// somewhere in the domtree: it can't!
|
||||
} else if (Num == NextNum) {
|
||||
if (Num == NextNum) {
|
||||
insert_table(Num, I);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// Perform fast-path value-number based elimination of values inherited from
|
||||
// dominators.
|
||||
} else if (Value *repl = lookupNumber(I->getParent(), Num)) {
|
||||
// Remove it!
|
||||
VN.erase(I);
|
||||
I->replaceAllUsesWith(repl);
|
||||
if (MD && repl->getType()->isPointerTy())
|
||||
MD->invalidateCachedPointerInfo(repl);
|
||||
toErase.push_back(I);
|
||||
return true;
|
||||
|
||||
} else {
|
||||
Value *repl = lookupNumber(I->getParent(), Num);
|
||||
if (repl == 0) {
|
||||
// Failure, just remember this instance for future use.
|
||||
insert_table(Num, I);
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
// Remove it!
|
||||
VN.erase(I);
|
||||
I->replaceAllUsesWith(repl);
|
||||
if (MD && repl->getType()->isPointerTy())
|
||||
MD->invalidateCachedPointerInfo(repl);
|
||||
toErase.push_back(I);
|
||||
return true;
|
||||
}
|
||||
|
||||
/// runOnFunction - This is the main transformation entry point for a function.
|
||||
|
Loading…
x
Reference in New Issue
Block a user