mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-26 21:20:37 +00:00
Don't look up the "dbg" metadata kind by name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108961 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
6e8154354f
commit
7bc230ec6a
@ -254,14 +254,13 @@ static bool StripDebugInfo(Module &M) {
|
||||
}
|
||||
}
|
||||
|
||||
unsigned MDDbgKind = M.getMDKindID("dbg");
|
||||
for (Module::iterator MI = M.begin(), ME = M.end(); MI != ME; ++MI)
|
||||
for (Function::iterator FI = MI->begin(), FE = MI->end(); FI != FE;
|
||||
++FI)
|
||||
for (BasicBlock::iterator BI = FI->begin(), BE = FI->end(); BI != BE;
|
||||
++BI) {
|
||||
Changed = true; // FIXME: Only set if there was debug metadata.
|
||||
BI->setMetadata(MDDbgKind, 0);
|
||||
Changed != !BI->getDebugLoc().isUnknown();
|
||||
BI->setDebugLoc(DebugLoc());
|
||||
}
|
||||
|
||||
return Changed;
|
||||
|
@ -408,10 +408,9 @@ void llvm::CloneAndPruneFunctionInto(Function *NewFunc, const Function *OldFunc,
|
||||
//
|
||||
BasicBlock::iterator I = NewBB->begin();
|
||||
|
||||
unsigned DbgKind = OldFunc->getContext().getMDKindID("dbg");
|
||||
MDNode *TheCallMD = NULL;
|
||||
if (TheCall && TheCall->hasMetadata())
|
||||
TheCallMD = TheCall->getMetadata(DbgKind);
|
||||
TheCallMD = TheCall->getMetadata(LLVMContext::MD_dbg);
|
||||
|
||||
// Handle PHI nodes specially, as we have to remove references to dead
|
||||
// blocks.
|
||||
@ -421,14 +420,14 @@ void llvm::CloneAndPruneFunctionInto(Function *NewFunc, const Function *OldFunc,
|
||||
for (; (PN = dyn_cast<PHINode>(I)); ++I, ++OldI) {
|
||||
if (I->hasMetadata()) {
|
||||
if (TheCallMD) {
|
||||
if (MDNode *IMD = I->getMetadata(DbgKind)) {
|
||||
if (MDNode *IMD = I->getMetadata(LLVMContext::MD_dbg)) {
|
||||
MDNode *NewMD = UpdateInlinedAtInfo(IMD, TheCallMD);
|
||||
I->setMetadata(DbgKind, NewMD);
|
||||
I->setMetadata(LLVMContext::MD_dbg, NewMD);
|
||||
}
|
||||
} else {
|
||||
// The cloned instruction has dbg info but the call instruction
|
||||
// does not have dbg info. Remove dbg info from cloned instruction.
|
||||
I->setMetadata(DbgKind, 0);
|
||||
I->setMetadata(LLVMContext::MD_dbg, 0);
|
||||
}
|
||||
}
|
||||
PHIToResolve.push_back(cast<PHINode>(OldI));
|
||||
@ -445,14 +444,14 @@ void llvm::CloneAndPruneFunctionInto(Function *NewFunc, const Function *OldFunc,
|
||||
for (; I != NewBB->end(); ++I) {
|
||||
if (I->hasMetadata()) {
|
||||
if (TheCallMD) {
|
||||
if (MDNode *IMD = I->getMetadata(DbgKind)) {
|
||||
if (MDNode *IMD = I->getMetadata(LLVMContext::MD_dbg)) {
|
||||
MDNode *NewMD = UpdateInlinedAtInfo(IMD, TheCallMD);
|
||||
I->setMetadata(DbgKind, NewMD);
|
||||
I->setMetadata(LLVMContext::MD_dbg, NewMD);
|
||||
}
|
||||
} else {
|
||||
// The cloned instruction has dbg info but the call instruction
|
||||
// does not have dbg info. Remove dbg info from cloned instruction.
|
||||
I->setMetadata(DbgKind, 0);
|
||||
I->setMetadata(LLVMContext::MD_dbg, 0);
|
||||
}
|
||||
}
|
||||
RemapInstruction(I, VMap);
|
||||
|
@ -896,11 +896,12 @@ void PromoteMem2Reg::ConvertDebugDeclareToDebugValue(DbgDeclareInst *DDI,
|
||||
DIVar, SI);
|
||||
|
||||
// Propagate any debug metadata from the store onto the dbg.value.
|
||||
if (MDNode *SIMD = SI->getMetadata("dbg"))
|
||||
DbgVal->setMetadata("dbg", SIMD);
|
||||
DebugLoc SIDL = SI->getDebugLoc();
|
||||
if (!SIDL.isUnknown())
|
||||
DbgVal->setDebugLoc(SIDL);
|
||||
// Otherwise propagate debug metadata from dbg.declare.
|
||||
else if (MDNode *MD = DDI->getMetadata("dbg"))
|
||||
DbgVal->setMetadata("dbg", MD);
|
||||
else
|
||||
DbgVal->setDebugLoc(DDI->getDebugLoc());
|
||||
}
|
||||
|
||||
// QueuePhiNode - queues a phi-node to be added to a basic-block for a specific
|
||||
|
Loading…
Reference in New Issue
Block a user