[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