Handle visibility printing with all generality. Remove bunch of duplicate code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54540 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/Alpha/AlphaAsmPrinter.cpp b/lib/Target/Alpha/AlphaAsmPrinter.cpp
index 1532047..e592e80 100644
--- a/lib/Target/Alpha/AlphaAsmPrinter.cpp
+++ b/lib/Target/Alpha/AlphaAsmPrinter.cpp
@@ -164,6 +164,8 @@
     break;
   }
 
+  printVisibility(CurrentFnName, F->getVisibility());
+
   O << "\t.ent " << CurrentFnName << "\n";
 
   O << CurrentFnName << ":\n";
@@ -221,8 +223,7 @@
   SwitchToDataSection(SectionName.c_str());
 
   // 1: Check visibility
-  if (GVar->hasHiddenVisibility())
-    O << TAI->getHiddenDirective() << name << "\n";
+  printVisibility(name, GVar->getVisibility());
 
   // 2: Kind
   switch (GVar->getLinkage()) {