summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2010-07-20 23:09:34 +0000
committerDan Gohman <gohman@apple.com>2010-07-20 23:09:34 +0000
commit5c2e65b7bf8be8576aec043b6e3167239838d1f5 (patch)
tree1f3d9c17a74dea399bfd783c5d49a19b61e2d3e2 /llvm/lib/Transforms
parentb2831dbff741d7c1f6acc438fac69b919abfb2b1 (diff)
downloadbcm5719-llvm-5c2e65b7bf8be8576aec043b6e3167239838d1f5.tar.gz
bcm5719-llvm-5c2e65b7bf8be8576aec043b6e3167239838d1f5.zip
Don't look up the "dbg" metadata kind by name.
llvm-svn: 108961
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r--llvm/lib/Transforms/IPO/StripSymbols.cpp5
-rw-r--r--llvm/lib/Transforms/Utils/CloneFunction.cpp15
-rw-r--r--llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp9
3 files changed, 14 insertions, 15 deletions
diff --git a/llvm/lib/Transforms/IPO/StripSymbols.cpp b/llvm/lib/Transforms/IPO/StripSymbols.cpp
index 12e8db8b4a5..343702028ae 100644
--- a/llvm/lib/Transforms/IPO/StripSymbols.cpp
+++ b/llvm/lib/Transforms/IPO/StripSymbols.cpp
@@ -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;
diff --git a/llvm/lib/Transforms/Utils/CloneFunction.cpp b/llvm/lib/Transforms/Utils/CloneFunction.cpp
index 1dcfd578784..2aea51abdb3 100644
--- a/llvm/lib/Transforms/Utils/CloneFunction.cpp
+++ b/llvm/lib/Transforms/Utils/CloneFunction.cpp
@@ -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);
diff --git a/llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp b/llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
index c0de1938b2d..175854212c7 100644
--- a/llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
+++ b/llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
@@ -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
OpenPOWER on IntegriCloud