Remove unused routines.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74351 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Devang Patel 2009-06-26 22:53:22 +00:00
parent 343dadbb36
commit acec7b35aa
2 changed files with 0 additions and 48 deletions

View File

@ -114,13 +114,6 @@ AllocaInst *DemotePHIToStack(PHINode *P, Instruction *AllocaPoint = 0);
bool OnlyUsedByDbgInfoIntrinsics(Instruction *I,
SmallVectorImpl<DbgInfoIntrinsic *> *DbgInUses = 0);
/// UserIsDebugInfo - Return true if U is a constant expr used by
/// llvm.dbg.variable or llvm.dbg.global_variable
bool UserIsDebugInfo(User *U);
/// RemoveDbgInfoUser - Remove an User which is representing debug info.
void RemoveDbgInfoUser(User *U);
} // End llvm namespace
#endif

View File

@ -340,44 +340,3 @@ bool llvm::OnlyUsedByDbgInfoIntrinsics(Instruction *I,
return true;
}
/// UserIsDebugInfo - Return true if U is a constant expr used by
/// llvm.dbg.variable or llvm.dbg.global_variable
bool llvm::UserIsDebugInfo(User *U) {
ConstantExpr *CE = dyn_cast<ConstantExpr>(U);
if (!CE || CE->getNumUses() != 1)
return false;
Constant *Init = dyn_cast<Constant>(CE->use_back());
if (!Init || Init->getNumUses() != 1)
return false;
GlobalVariable *GV = dyn_cast<GlobalVariable>(Init->use_back());
if (!GV || !GV->hasInitializer() || GV->getInitializer() != Init)
return false;
DIVariable DV(GV);
if (!DV.isNull())
return true; // User is llvm.dbg.variable
DIGlobalVariable DGV(GV);
if (!DGV.isNull())
return true; // User is llvm.dbg.global_variable
return false;
}
/// RemoveDbgInfoUser - Remove an User which is representing debug info.
void llvm::RemoveDbgInfoUser(User *U) {
assert (UserIsDebugInfo(U) && "Unexpected User!");
ConstantExpr *CE = cast<ConstantExpr>(U);
while (!CE->use_empty()) {
Constant *C = cast<Constant>(CE->use_back());
while (!C->use_empty()) {
GlobalVariable *GV = cast<GlobalVariable>(C->use_back());
GV->eraseFromParent();
}
C->destroyConstant();
}
CE->destroyConstant();
}