diff options
author | Devang Patel <dpatel@apple.com> | 2010-06-16 00:53:55 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2010-06-16 00:53:55 +0000 |
commit | 2f7d5291de87bfa195884e84dc0efe9705c2215c (patch) | |
tree | 08cfc02c5cca206415b6ddac7a87431a8341f533 /lib/CodeGen | |
parent | 7500e06e3886a13e3017d7af77c35d309e875182 (diff) |
Use separate named MDNode to hold each function's local variable info.
This speeds up local variable handling in DwarfDebug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106075 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen')
-rw-r--r-- | lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index 4705a0eed3..7da363fa56 100644 --- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -2259,8 +2259,9 @@ void DwarfDebug::collectVariableInfo(const MachineFunction *MF) { } // Collect info for variables that were optimized out. - if (NamedMDNode *NMD = - MF->getFunction()->getParent()->getNamedMetadata("llvm.dbg.lv")) { + const Twine FnLVName = Twine("llvm.dbg.lv.", MF->getFunction()->getName()); + if (NamedMDNode *NMD = + MF->getFunction()->getParent()->getNamedMetadataUsingTwine(FnLVName)) { for (unsigned i = 0, e = NMD->getNumOperands(); i != e; ++i) { DIVariable DV(cast_or_null<MDNode>(NMD->getOperand(i))); if (!DV || !Processed.insert(DV)) |