[llvm-commits] [llvm] r124468 - in /llvm/trunk: lib/CodeGen/AsmPrinter/AsmPrinter.cpp test/CodeGen/X86/visibility.ll

Rafael Espindola rafael.espindola at gmail.com
Thu Jan 27 19:20:10 PST 2011


Author: rafael
Date: Thu Jan 27 21:20:10 2011
New Revision: 124468

URL: http://llvm.org/viewvc/llvm-project?rev=124468&view=rev
Log:
Print the visibility of declarations.

Added:
    llvm/trunk/test/CodeGen/X86/visibility.ll
Modified:
    llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp

Modified: llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp?rev=124468&r1=124467&r2=124468&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp Thu Jan 27 21:20:10 2011
@@ -753,7 +753,20 @@
   for (Module::const_global_iterator I = M.global_begin(), E = M.global_end();
        I != E; ++I)
     EmitGlobalVariable(I);
-  
+
+  // Emit visibility info for declarations
+  for (Module::const_iterator I = M.begin(), E = M.end(); I != E; ++I) {
+    const Function &F = *I;
+    if (!F.isDeclaration())
+      continue;
+    GlobalValue::VisibilityTypes V = F.getVisibility();
+    if (V == GlobalValue::DefaultVisibility)
+      continue;
+
+    MCSymbol *Name = Mang->getSymbol(&F);
+    EmitVisibility(Name, V);
+  }
+
   // Finalize debug and EH information.
   if (DE) {
     {

Added: llvm/trunk/test/CodeGen/X86/visibility.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/visibility.ll?rev=124468&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/X86/visibility.ll (added)
+++ llvm/trunk/test/CodeGen/X86/visibility.ll Thu Jan 27 21:20:10 2011
@@ -0,0 +1,11 @@
+; RUN: llc  %s -o - | FileCheck %s
+
+define hidden void @foo() nounwind {
+entry:
+  call void @bar()
+  ret void
+}
+
+declare hidden void @bar()
+
+;CHECK: .hidden	bar





More information about the llvm-commits mailing list