summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
diff options
context:
space:
mode:
authorManman Ren <manman.ren@gmail.com>2013-09-10 18:30:07 +0000
committerManman Ren <manman.ren@gmail.com>2013-09-10 18:30:07 +0000
commit34b3dcc3b5e391e04276081bb5aecc42073d3e63 (patch)
tree36792a26736fe486e8913a1a0236cff8808f3512 /llvm/lib/CodeGen
parent19ae779af1c6f89dd0285ebc9b846300d378a0b6 (diff)
downloadbcm5719-llvm-34b3dcc3b5e391e04276081bb5aecc42073d3e63.tar.gz
bcm5719-llvm-34b3dcc3b5e391e04276081bb5aecc42073d3e63.zip
Debug Info: define a DIRef template.
Specialize the constructors for DIRef<DIScope> and DIRef<DIType> to make sure the Value is indeed a scope ref and a type ref. Use DIScopeRef for DIScope::getContext and DIType::getContext and use DITypeRef for getContainingType and getClassType. DIScope::generateRef now returns a DIScopeRef instead of a "Value *" for readability and type safety. llvm-svn: 190418
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp5
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h5
2 files changed, 4 insertions, 6 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
index 7db6df0e19a..608ce6a5688 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
@@ -2644,8 +2644,3 @@ void DwarfDebug::emitDebugStrDWO() {
InfoHolder.emitStrings(Asm->getObjFileLowering().getDwarfStrDWOSection(),
OffSec, StrSym);
}
-
-/// Find the MDNode for the given scope reference.
-DIScope DwarfDebug::resolve(DIScopeRef SRef) const {
- return SRef.resolve(TypeIdentifierMap);
-}
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
index e026c668135..6c13b9ec6f9 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
+++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
@@ -684,7 +684,10 @@ public:
unsigned getDwarfVersion() const { return DwarfVersion; }
/// Find the MDNode for the given scope reference.
- DIScope resolve(DIScopeRef SRef) const;
+ template <typename T>
+ T resolve(DIRef<T> Ref) const {
+ return Ref.resolve(TypeIdentifierMap);
+ }
/// isSubprogramContext - Return true if Context is either a subprogram
/// or another context nested inside a subprogram.
OpenPOWER on IntegriCloud