Move DIRef::getName out of line.
authorManman Ren <manman.ren@gmail.com>
Tue, 8 Oct 2013 18:42:03 +0000 (18:42 +0000)
committerManman Ren <manman.ren@gmail.com>
Tue, 8 Oct 2013 18:42:03 +0000 (18:42 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192214 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/DebugInfo.h

index 506b84c49bf567e02f13f68e8ab9d81cc242a26f..49b81e3944f5e2fdf73fce19ddc2b7d642d744b0 100644 (file)
@@ -230,16 +230,7 @@ template <typename T> class DIRef {
 
 public:
   T resolve(const DITypeIdentifierMap &Map) const;
-  StringRef getName() const {
-    if (!Val)
-      return StringRef();
-
-    if (const MDNode *MD = dyn_cast<MDNode>(Val))
-      return T(MD).getName();
-
-    const MDString *MS = cast<MDString>(Val);
-    return MS->getString();
-  }
+  StringRef getName() const;
   operator Value *() const { return const_cast<Value *>(Val); }
 };
 
@@ -260,6 +251,18 @@ T DIRef<T>::resolve(const DITypeIdentifierMap &Map) const {
   return T(Iter->second);
 }
 
+template <typename T>
+StringRef DIRef<T>::getName() const {
+  if (!Val)
+    return StringRef();
+
+  if (const MDNode *MD = dyn_cast<MDNode>(Val))
+    return T(MD).getName();
+
+  const MDString *MS = cast<MDString>(Val);
+  return MS->getString();
+}
+
 /// Specialize getFieldAs to handle fields that are references to DIScopes.
 template <> DIScopeRef DIDescriptor::getFieldAs<DIScopeRef>(unsigned Elt) const;
 /// Specialize DIRef constructor for DIScopeRef.