mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-17 21:29:20 +00:00
Remove a bunch of complex logic that is completely dead: duplicates can
never be inserted! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33037 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
9446bbe7d4
commit
22990aae5c
@ -1539,20 +1539,6 @@ int SlotMachine::getSlot(const Value *V) {
|
|||||||
|
|
||||||
/// CreateModuleSlot - Insert the specified GlobalValue* into the slot table.
|
/// CreateModuleSlot - Insert the specified GlobalValue* into the slot table.
|
||||||
void SlotMachine::CreateModuleSlot(const GlobalValue *V) {
|
void SlotMachine::CreateModuleSlot(const GlobalValue *V) {
|
||||||
assert(!V->hasName() && "Doesn't need a slot!");
|
|
||||||
const Type *VTy = V->getType();
|
|
||||||
|
|
||||||
// Look up the type plane for the Value's type from the module map
|
|
||||||
TypedPlanes::const_iterator MI = mMap.find(VTy);
|
|
||||||
|
|
||||||
// If the module map's type plane is not for the Value's type
|
|
||||||
if (MI != mMap.end()) {
|
|
||||||
// Lookup the value in the module's map
|
|
||||||
ValueMap::const_iterator MVI = MI->second.map.find(V);
|
|
||||||
if (MVI != MI->second.map.end())
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
return insertValue(V);
|
return insertValue(V);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1561,49 +1547,7 @@ void SlotMachine::CreateModuleSlot(const GlobalValue *V) {
|
|||||||
void SlotMachine::CreateFunctionSlot(const Value *V) {
|
void SlotMachine::CreateFunctionSlot(const Value *V) {
|
||||||
const Type *VTy = V->getType();
|
const Type *VTy = V->getType();
|
||||||
assert(VTy != Type::VoidTy && !V->hasName() && "Doesn't need a slot!");
|
assert(VTy != Type::VoidTy && !V->hasName() && "Doesn't need a slot!");
|
||||||
assert(!isa<Constant>(V) && "Can't insert a Constants into SlotMachine");
|
return insertValue(V);
|
||||||
|
|
||||||
// Look up the type plane for the Value's type from the module map
|
|
||||||
TypedPlanes::const_iterator MI = mMap.find(VTy);
|
|
||||||
|
|
||||||
// Get the type plane for the Value's type from the function map
|
|
||||||
TypedPlanes::const_iterator FI = fMap.find(VTy);
|
|
||||||
// If there is a corresponding type plane in the function map
|
|
||||||
if (FI != fMap.end()) {
|
|
||||||
// Lookup the Value in the function map.
|
|
||||||
ValueMap::const_iterator FVI = FI->second.map.find(V);
|
|
||||||
// If the value exists in the function map, we're done.
|
|
||||||
if (FVI != FI->second.map.end())
|
|
||||||
return;
|
|
||||||
|
|
||||||
// If there is no corresponding type plane in the module map
|
|
||||||
if (MI == mMap.end())
|
|
||||||
return insertValue(V);
|
|
||||||
// Look up the value in the module map
|
|
||||||
ValueMap::const_iterator MVI = MI->second.map.find(V);
|
|
||||||
// If we found it, it was already inserted
|
|
||||||
if (MVI != MI->second.map.end())
|
|
||||||
return;
|
|
||||||
return insertValue(V);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Otherwise, there is no corresponding type plane in the function map yet.
|
|
||||||
|
|
||||||
// If the type plane doesn't exists at the module level
|
|
||||||
if (MI == mMap.end()) {
|
|
||||||
return insertValue(V);
|
|
||||||
// else type plane exists at the module level, examine it
|
|
||||||
} else {
|
|
||||||
// Look up the value in the module's map
|
|
||||||
ValueMap::const_iterator MVI = MI->second.map.find(V);
|
|
||||||
// If we didn't find it there either
|
|
||||||
if (MVI == MI->second.map.end())
|
|
||||||
// Return the slot number as the module's contribution to
|
|
||||||
// the type plane plus the index of the function map insertion.
|
|
||||||
return insertValue(V);
|
|
||||||
else
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user