[llvm-commits] [llvm-gcc-4.2] r75682 - in /llvm-gcc-4.2/trunk/gcc: llvm-debug.cpp llvm-debug.h

Devang Patel dpatel at apple.com
Tue Jul 14 14:21:43 PDT 2009


Author: dpatel
Date: Tue Jul 14 16:21:04 2009
New Revision: 75682

URL: http://llvm.org/viewvc/llvm-project?rev=75682&view=rev
Log:
Revert 75648 for now. It is causing test failures.

Modified:
    llvm-gcc-4.2/trunk/gcc/llvm-debug.cpp
    llvm-gcc-4.2/trunk/gcc/llvm-debug.h

Modified: llvm-gcc-4.2/trunk/gcc/llvm-debug.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-debug.cpp?rev=75682&r1=75681&r2=75682&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/llvm-debug.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/llvm-debug.cpp Tue Jul 14 16:21:04 2009
@@ -34,9 +34,7 @@
 #include "llvm/Intrinsics.h"
 #include "llvm/Module.h"
 #include "llvm/Support/Dwarf.h"
-#include "llvm/Support/Mangler.h"
 #include "llvm/Target/TargetMachine.h"
-#include "llvm/Target/TargetAsmInfo.h"
 #include "llvm/ADT/StringExtras.h"
 #include "llvm/ADT/SmallVector.h"
 
@@ -182,12 +180,12 @@
   return Location;
 }
 
-static const char *getLinkageName(tree Node, Mangler *LLVMMangler) {
+static const char *getLinkageName(tree Node) {
 
   // Use llvm value name as linkage name if it is available.
   if (DECL_LLVM_SET_P(Node)) {
-    GlobalValue *V = dyn_cast<GlobalValue>(DECL_LLVM(Node));
-    return LLVMMangler->getMangledName(V).c_str();
+    Value *V = DECL_LLVM(Node);
+    return V->getNameStart();
   }
 
   tree decl_name = DECL_NAME(Node);
@@ -210,23 +208,7 @@
 , PrevLineNo(0)
 , PrevBB(NULL)
 , RegionStack()
-{
-  assert (TheTarget && "Target is not set!");
-  const TargetAsmInfo *TAI = TheTarget->getTargetAsmInfo();
-  LLVMMangler = new Mangler(*m, TAI->getGlobalPrefix(), TAI->getPrivateGlobalPrefix());
-  // add chars used in ObjC method names so method names aren't mangled
-  LLVMMangler->markCharAcceptable('[');
-  LLVMMangler->markCharAcceptable(']');
-  LLVMMangler->markCharAcceptable('(');
-  LLVMMangler->markCharAcceptable(')');
-  LLVMMangler->markCharAcceptable('-');
-  LLVMMangler->markCharAcceptable('+');
-  LLVMMangler->markCharAcceptable(' ');
-}
-
-DebugInfo::~DebugInfo() {
-  delete LLVMMangler;
-}
+{}
 
 /// EmitFunctionStart - Constructs the debug code for entering a function -
 /// "llvm.dbg.func.start."
@@ -234,12 +216,13 @@
                                   BasicBlock *CurBB) {
   // Gather location information.
   expanded_location Loc = GetNodeLocation(FnDecl, false);
+  const char *LinkageName = getLinkageName(FnDecl);
 
   DISubprogram SP = 
     DebugFactory.CreateSubprogram(findRegion(FnDecl),
                                   lang_hooks.dwarf_name(FnDecl, 0),
                                   lang_hooks.dwarf_name(FnDecl, 0),
-                                  LLVMMangler->getMangledName(Fn),
+                                  LinkageName,
                                   getOrCreateCompileUnit(Loc.file), CurLineNo,
                                   getOrCreateType(TREE_TYPE(FnDecl)),
                                   Fn->hasInternalLinkage(),
@@ -372,7 +355,7 @@
   DebugFactory.CreateGlobalVariable(getOrCreateCompileUnit(Loc.file), 
                                     GV->getNameStr(), 
                                     DispName,
-                                    LLVMMangler->getMangledName(GV),
+                                    getLinkageName(decl), 
                                     getOrCreateCompileUnit(Loc.file), Loc.line,
                                     TyD, GV->hasInternalLinkage(),
                                     true/*definition*/, GV);
@@ -688,7 +671,7 @@
     expanded_location MemLoc = GetNodeLocation(Member, false);
     
     const char *MemberName = lang_hooks.dwarf_name(Member, 0);        
-    const char *LinkageName = getLinkageName(Member, LLVMMangler);
+    const char *LinkageName = getLinkageName(Member);
     DIType SPTy = getOrCreateType(TREE_TYPE(Member));
     DISubprogram SP = 
       DebugFactory.CreateSubprogram(findRegion(Member), MemberName, MemberName,

Modified: llvm-gcc-4.2/trunk/gcc/llvm-debug.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-debug.h?rev=75682&r1=75681&r2=75682&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/llvm-debug.h (original)
+++ llvm-gcc-4.2/trunk/gcc/llvm-debug.h Tue Jul 14 16:21:04 2009
@@ -47,14 +47,12 @@
 class CallInst;
 class Function;
 class Module;
-class Mangler;
 
 /// DebugInfo - This class gathers all debug information during compilation and
 /// is responsible for emitting to llvm globals or pass directly to the backend.
 class DebugInfo {
 private:
   Module *M;                            // The current module.
-  Mangler *LLVMMangler;                 // The mangler to mangle linkage names.
   DIFactory DebugFactory;               
   const char *CurFullPath;              // Previous location file encountered.
   int CurLineNo;                        // Previous location line# encountered.
@@ -71,7 +69,6 @@
   std::map<tree_node *, DIDescriptor> RegionMap;
 public:
   DebugInfo(Module *m);
-  ~DebugInfo();
 
   /// Initialize - Initialize debug info by creating compile unit for
   /// main_input_filename. This must be invoked after language dependent





More information about the llvm-commits mailing list