aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2010-01-16 06:09:35 +0000
committerDevang Patel <dpatel@apple.com>2010-01-16 06:09:35 +0000
commit6b61f5816e22ac7f7e009aaf3e11ccce7cfeb085 (patch)
treeaef851fa3d4de82efc69be6e50a39bdbcb713a3e /include/llvm
parent036d8f9581c76b68cac08876be65b362c3a54bc3 (diff)
downloadexternal_llvm-6b61f5816e22ac7f7e009aaf3e11ccce7cfeb085.tar.gz
external_llvm-6b61f5816e22ac7f7e009aaf3e11ccce7cfeb085.tar.bz2
external_llvm-6b61f5816e22ac7f7e009aaf3e11ccce7cfeb085.zip
Replace DebugLocTuple with DILocation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93630 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm')
-rw-r--r--include/llvm/CodeGen/AsmPrinter.h3
-rw-r--r--include/llvm/CodeGen/MachineFunction.h4
-rw-r--r--include/llvm/Support/DebugLoc.h53
3 files changed, 7 insertions, 53 deletions
diff --git a/include/llvm/CodeGen/AsmPrinter.h b/include/llvm/CodeGen/AsmPrinter.h
index 8c1acab3aa..ca8a163063 100644
--- a/include/llvm/CodeGen/AsmPrinter.h
+++ b/include/llvm/CodeGen/AsmPrinter.h
@@ -17,6 +17,7 @@
#define LLVM_CODEGEN_ASMPRINTER_H
#include "llvm/CodeGen/MachineFunctionPass.h"
+#include "llvm/Analysis/DebugInfo.h"
#include "llvm/Support/DebugLoc.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/ADT/DenseMap.h"
@@ -151,7 +152,7 @@ namespace llvm {
mutable unsigned Counter;
// Private state for processDebugLoc()
- mutable DebugLocTuple PrevDLT;
+ mutable DILocation PrevDLT;
protected:
explicit AsmPrinter(formatted_raw_ostream &o, TargetMachine &TM,
diff --git a/include/llvm/CodeGen/MachineFunction.h b/include/llvm/CodeGen/MachineFunction.h
index a12a55aefc..abd57a792b 100644
--- a/include/llvm/CodeGen/MachineFunction.h
+++ b/include/llvm/CodeGen/MachineFunction.h
@@ -368,8 +368,8 @@ public:
// Debug location.
//
- /// getDebugLocTuple - Get the DebugLocTuple for a given DebugLoc object.
- DebugLocTuple getDebugLocTuple(DebugLoc DL) const;
+ /// getDILocation - Get the DILocation for a given DebugLoc object.
+ DILocation getDILocation(DebugLoc DL) const;
/// getDefaultDebugLoc - Get the default debug location for the machine
/// function.
diff --git a/include/llvm/Support/DebugLoc.h b/include/llvm/Support/DebugLoc.h
index 6814f63d9e..32631fcb34 100644
--- a/include/llvm/Support/DebugLoc.h
+++ b/include/llvm/Support/DebugLoc.h
@@ -21,29 +21,6 @@
namespace llvm {
class MDNode;
- /// DebugLocTuple - Debug location tuple of filename id, line and column.
- ///
- struct DebugLocTuple {
- MDNode *Scope;
- MDNode *InlinedAtLoc;
- unsigned Line, Col;
-
- DebugLocTuple()
- : Scope(0), InlinedAtLoc(0), Line(~0U), Col(~0U) {}
-
- DebugLocTuple(MDNode *n, MDNode *i, unsigned l, unsigned c)
- : Scope(n), InlinedAtLoc(i), Line(l), Col(c) {}
-
- bool operator==(const DebugLocTuple &DLT) const {
- return Scope == DLT.Scope &&
- InlinedAtLoc == DLT.InlinedAtLoc &&
- Line == DLT.Line && Col == DLT.Col;
- }
- bool operator!=(const DebugLocTuple &DLT) const {
- return !(*this == DLT);
- }
- };
-
/// DebugLoc - Debug location id. This is carried by SDNode and MachineInstr
/// to index into a vector of unique debug location tuples.
class DebugLoc {
@@ -65,40 +42,16 @@ namespace llvm {
bool operator!=(const DebugLoc &DL) const { return !(*this == DL); }
};
- // Specialize DenseMapInfo for DebugLocTuple.
- template<> struct DenseMapInfo<DebugLocTuple> {
- static inline DebugLocTuple getEmptyKey() {
- return DebugLocTuple(0, 0, ~0U, ~0U);
- }
- static inline DebugLocTuple getTombstoneKey() {
- return DebugLocTuple((MDNode*)~1U, (MDNode*)~1U, ~1U, ~1U);
- }
- static unsigned getHashValue(const DebugLocTuple &Val) {
- return DenseMapInfo<MDNode*>::getHashValue(Val.Scope) ^
- DenseMapInfo<MDNode*>::getHashValue(Val.InlinedAtLoc) ^
- DenseMapInfo<unsigned>::getHashValue(Val.Line) ^
- DenseMapInfo<unsigned>::getHashValue(Val.Col);
- }
- static bool isEqual(const DebugLocTuple &LHS, const DebugLocTuple &RHS) {
- return LHS.Scope == RHS.Scope &&
- LHS.InlinedAtLoc == RHS.InlinedAtLoc &&
- LHS.Line == RHS.Line &&
- LHS.Col == RHS.Col;
- }
- };
- template <> struct isPodLike<DebugLocTuple> {static const bool value = true;};
-
-
- /// DebugLocTracker - This class tracks debug location information.
+ /// DebugLocTracker - This class tracks debug location information.
///
struct DebugLocTracker {
/// DebugLocations - A vector of unique DebugLocTuple's.
///
- std::vector<DebugLocTuple> DebugLocations;
+ std::vector<MDNode *> DebugLocations;
/// DebugIdMap - This maps DebugLocTuple's to indices into the
/// DebugLocations vector.
- DenseMap<DebugLocTuple, unsigned> DebugIdMap;
+ DenseMap<MDNode *, unsigned> DebugIdMap;
DebugLocTracker() {}
};