llvm-mc: Factor getSectionData out of SwitchSection.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80344 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/MC/MCMachOStreamer.cpp b/lib/MC/MCMachOStreamer.cpp
index e89f7d8..9f813fd 100644
--- a/lib/MC/MCMachOStreamer.cpp
+++ b/lib/MC/MCMachOStreamer.cpp
@@ -63,6 +63,15 @@
     return 0;
   }
 
+  MCSectionData &getSectionData(const MCSection &Section) {
+    MCSectionData *&Entry = SectionMap[&Section];
+
+    if (!Entry)
+      Entry = new MCSectionData(Section, &Assembler);
+
+    return *Entry;
+  }
+
   MCSymbolData &getSymbolData(MCSymbol &Symbol) {
     MCSymbolData *&Entry = SymbolMap[&Symbol];
 
@@ -135,14 +144,9 @@
   
   // If already in this section, then this is a noop.
   if (Section == CurSection) return;
-  
+
   CurSection = Section;
-  MCSectionData *&Entry = SectionMap[Section];
-
-  if (!Entry)
-    Entry = new MCSectionData(*Section, &Assembler);
-
-  CurSectionData = Entry;
+  CurSectionData = &getSectionData(*Section);
 }
 
 void MCMachOStreamer::EmitLabel(MCSymbol *Symbol) {