aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/CodeGen/MachineModuleInfo.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-04-02 19:42:39 +0000
committerChris Lattner <sabre@nondot.org>2010-04-02 19:42:39 +0000
commitde4845c163a5847c82d7ce10ed0c320098bce6e0 (patch)
tree797abd5d6d511637b4b4095246b46473f88f5bf8 /include/llvm/CodeGen/MachineModuleInfo.h
parentf28f8bc40eedc6304ab25dd8bed486fa08f51f70 (diff)
downloadexternal_llvm-de4845c163a5847c82d7ce10ed0c320098bce6e0.zip
external_llvm-de4845c163a5847c82d7ce10ed0c320098bce6e0.tar.gz
external_llvm-de4845c163a5847c82d7ce10ed0c320098bce6e0.tar.bz2
Switch the code generator (except the JIT) onto the new DebugLoc
representation. This eliminates the 'DILocation' MDNodes for file/line/col tuples from -O0 -g codegen. This remove the old DebugLoc class, making it a typedef for DebugLoc, I'll rename NewDebugLoc next. I didn't update the JIT to use the new apis, so it will continue to work, but be as slow as before. Someone should eventually do this or, better yet, rip out the JIT debug info stuff and build the JIT on top of MC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100209 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/MachineModuleInfo.h')
-rw-r--r--include/llvm/CodeGen/MachineModuleInfo.h13
1 files changed, 7 insertions, 6 deletions
diff --git a/include/llvm/CodeGen/MachineModuleInfo.h b/include/llvm/CodeGen/MachineModuleInfo.h
index d446eae..d610390 100644
--- a/include/llvm/CodeGen/MachineModuleInfo.h
+++ b/include/llvm/CodeGen/MachineModuleInfo.h
@@ -37,6 +37,7 @@
#include "llvm/CodeGen/MachineLocation.h"
#include "llvm/MC/MCContext.h"
#include "llvm/Support/Dwarf.h"
+#include "llvm/Support/DebugLoc.h"
#include "llvm/Support/ValueHandle.h"
#include "llvm/System/DataTypes.h"
#include "llvm/ADT/DenseMap.h"
@@ -156,8 +157,8 @@ class MachineModuleInfo : public ImmutablePass {
public:
static char ID; // Pass identification, replacement for typeid
- typedef std::pair<unsigned, TrackingVH<MDNode> > UnsignedAndMDNodePair;
- typedef SmallVector< std::pair<TrackingVH<MDNode>, UnsignedAndMDNodePair>, 4>
+ typedef std::pair<unsigned, DebugLoc> UnsignedDebugLocPair;
+ typedef SmallVector<std::pair<TrackingVH<MDNode>, UnsignedDebugLocPair>, 4>
VariableDbgInfoMapTy;
VariableDbgInfoMapTy VariableDbgInfo;
@@ -330,10 +331,10 @@ public:
/// of one is required to emit exception handling info.
Function *getPersonality() const;
- /// setVariableDbgInfo - Collect information used to emit debugging information
- /// of a variable.
- void setVariableDbgInfo(MDNode *N, unsigned Slot, MDNode *Scope) {
- VariableDbgInfo.push_back(std::make_pair(N, std::make_pair(Slot, Scope)));
+ /// setVariableDbgInfo - Collect information used to emit debugging
+ /// information of a variable.
+ void setVariableDbgInfo(MDNode *N, unsigned Slot, DebugLoc Loc) {
+ VariableDbgInfo.push_back(std::make_pair(N, std::make_pair(Slot, Loc)));
}
VariableDbgInfoMapTy &getVariableDbgInfo() { return VariableDbgInfo; }