Refactor.
authorDevang Patel <dpatel@apple.com>
Tue, 31 May 2011 23:30:30 +0000 (23:30 +0000)
committerDevang Patel <dpatel@apple.com>
Tue, 31 May 2011 23:30:30 +0000 (23:30 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132373 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
lib/CodeGen/AsmPrinter/DwarfCompileUnit.h

index 5016c43aebea4f9ff27dbdb116f7a45a3a41535d..f128308fb6df8c645390de546c7d46bf8cf0d696 100644 (file)
@@ -609,10 +609,16 @@ void CompileUnit::addType(DIE *Entity, DIType Ty) {
 
   // If this is a complete composite type then include it in the
   // list of global types.
+  addGlobalType(Ty, Entry->getEntry());
+}
+
+/// addGlobalType - Add a new global type to the compile unit.
+///
+void CompileUnit::addGlobalType(DIType Ty, DIE *Die) {
   DIDescriptor Context = Ty.getContext();
   if (Ty.isCompositeType() && !Ty.getName().empty() && !Ty.isForwardDecl() 
       && (Context.isCompileUnit() || Context.isFile() || Context.isNameSpace()))
-    addGlobalType(Ty.getName(), Entry->getEntry());
+    GlobalTypes[Ty.getName()] = Die;
 }
 
 /// addPubTypes - Add type for pubtypes section.
@@ -627,12 +633,7 @@ void CompileUnit::addPubTypes(DISubprogram SP) {
     DIType ATy(Args.getElement(i));
     if (!ATy.Verify())
       continue;
-    DICompositeType CATy = getDICompositeType(ATy);
-    if (DIDescriptor(CATy).Verify() && !CATy.getName().empty()
-        && !CATy.isForwardDecl()) {
-      if (DIEEntry *Entry = getDIEEntry(CATy))
-        addGlobalType(CATy.getName(), Entry->getEntry());
-    }
+    addGlobalType(ATy, getDIEEntry(ATy)->getEntry());
   }
 }
 
index 2edca8954b34387bfe4ff4a7696dc6aa53f56453..3cfbd73ef828cd6d0a99a1a94af6358262789321 100644 (file)
@@ -87,9 +87,7 @@ public:
 
   /// addGlobalType - Add a new global type to the compile unit.
   ///
-  void addGlobalType(StringRef Name, DIE *Die) {
-    GlobalTypes[Name] = Die;
-  }
+  void addGlobalType(DIType Ty, DIE *Die);
 
   /// getDIE - Returns the debug information entry map slot for the
   /// specified debug variable.