mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-01 13:11:39 +01:00
Retain the name of the new internal global that's been shrunk.
It's possible (e.g. after an LTO build) that an internal global may be used for debugging purposes. If that's the case appending a '.b' to it makes it hard to find that variable. Steal the name from the old GV before deleting it so that they can find that variable again. llvm-svn: 175104
This commit is contained in:
parent
a6322b9e0a
commit
29c7662732
@ -1846,10 +1846,10 @@ static bool TryToShrinkGlobalToBoolean(GlobalVariable *GV, Constant *OtherVal) {
|
||||
bool StoringOther = SI->getOperand(0) == OtherVal;
|
||||
// Only do this if we weren't storing a loaded value.
|
||||
Value *StoreVal;
|
||||
if (StoringOther || SI->getOperand(0) == InitVal)
|
||||
if (StoringOther || SI->getOperand(0) == InitVal) {
|
||||
StoreVal = ConstantInt::get(Type::getInt1Ty(GV->getContext()),
|
||||
StoringOther);
|
||||
else {
|
||||
} else {
|
||||
// Otherwise, we are storing a previously loaded copy. To do this,
|
||||
// change the copy from copying the original value to just copying the
|
||||
// bool.
|
||||
@ -1888,6 +1888,9 @@ static bool TryToShrinkGlobalToBoolean(GlobalVariable *GV, Constant *OtherVal) {
|
||||
UI->eraseFromParent();
|
||||
}
|
||||
|
||||
// Retain the name of the old global variable. People who are debugging their
|
||||
// programs may expect these variables to be named the same.
|
||||
NewGV->takeName(GV);
|
||||
GV->eraseFromParent();
|
||||
return true;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user