diff options
| author | Devang Patel <dpatel@apple.com> | 2010-06-22 01:01:58 +0000 | 
|---|---|---|
| committer | Devang Patel <dpatel@apple.com> | 2010-06-22 01:01:58 +0000 | 
| commit | ad51735794a86624cbf31aa789b61692e7f0329f (patch) | |
| tree | 7bb7d3e746fe86e0e5ba24e7969b32bc1883220b | |
| parent | 60bb7c42a770bc4c02c47a228a9b33c17537242d (diff) | |
| download | bcm5719-llvm-ad51735794a86624cbf31aa789b61692e7f0329f.tar.gz bcm5719-llvm-ad51735794a86624cbf31aa789b61692e7f0329f.zip  | |
Do not rely on Twine temporaries to survive.
llvm-svn: 106515
| -rw-r--r-- | llvm/lib/Analysis/DebugInfo.cpp | 8 | ||||
| -rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 7 | 
2 files changed, 8 insertions, 7 deletions
diff --git a/llvm/lib/Analysis/DebugInfo.cpp b/llvm/lib/Analysis/DebugInfo.cpp index 0d0d27cb952..fe19ff8dbdb 100644 --- a/llvm/lib/Analysis/DebugInfo.cpp +++ b/llvm/lib/Analysis/DebugInfo.cpp @@ -1059,14 +1059,14 @@ DIVariable DIFactory::CreateVariable(unsigned Tag, DIDescriptor Context,      StringRef FName = "fn";      if (Fn.getFunction())        FName = Fn.getFunction()->getName(); -    const Twine FnLVName = Twine("llvm.dbg.lv.", FName);      char One = '\1';      if (FName.startswith(StringRef(&One, 1)))        FName = FName.substr(1); - -    NamedMDNode *FnLocals = M.getNamedMetadataUsingTwine(FnLVName); +    NamedMDNode *FnLocals =  +      M.getNamedMetadataUsingTwine(Twine("llvm.dbg.lv.", FName));      if (!FnLocals) -      FnLocals = NamedMDNode::Create(VMContext, FnLVName, NULL, 0, &M); +      FnLocals = NamedMDNode::Create(VMContext, Twine("llvm.dbg.lv.", FName), +                                     NULL, 0, &M);      FnLocals->addOperand(Node);    }    return DIVariable(Node); diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index 5f55a3dfa51..41e4bfbaff3 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -2257,9 +2257,10 @@ void DwarfDebug::collectVariableInfo(const MachineFunction *MF) {    }    // Collect info for variables that were optimized out. -  const Twine FnLVName = Twine("llvm.dbg.lv.", MF->getFunction()->getName()); -  if (NamedMDNode *NMD = -      MF->getFunction()->getParent()->getNamedMetadataUsingTwine(FnLVName)) { +  const Function *F = MF->getFunction(); +  const Module *M = F->getParent(); +  if (NamedMDNode *NMD =  +      M->getNamedMetadataUsingTwine(Twine("llvm.dbg.lv.", F->getName()))) {      for (unsigned i = 0, e = NMD->getNumOperands(); i != e; ++i) {        DIVariable DV(cast_or_null<MDNode>(NMD->getOperand(i)));        if (!DV || !Processed.insert(DV))  | 

