mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-05-15 16:38:41 +00:00
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:
parent
343dadbb36
commit
acec7b35aa
@ -114,13 +114,6 @@ AllocaInst *DemotePHIToStack(PHINode *P, Instruction *AllocaPoint = 0);
|
|||||||
bool OnlyUsedByDbgInfoIntrinsics(Instruction *I,
|
bool OnlyUsedByDbgInfoIntrinsics(Instruction *I,
|
||||||
SmallVectorImpl<DbgInfoIntrinsic *> *DbgInUses = 0);
|
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
|
} // End llvm namespace
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -340,44 +340,3 @@ bool llvm::OnlyUsedByDbgInfoIntrinsics(Instruction *I,
|
|||||||
return true;
|
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();
|
|
||||||
}
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user