Print the visibility of declarations.

llvm-svn: 124468
This commit is contained in:
Rafael Espindola 2011-01-28 03:20:10 +00:00
parent 4ada0d9164
commit 6c17d54891
2 changed files with 25 additions and 1 deletions

View File

@ -753,7 +753,20 @@ bool AsmPrinter::doFinalization(Module &M) {
for (Module::const_global_iterator I = M.global_begin(), E = M.global_end(); for (Module::const_global_iterator I = M.global_begin(), E = M.global_end();
I != E; ++I) I != E; ++I)
EmitGlobalVariable(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. // Finalize debug and EH information.
if (DE) { if (DE) {
{ {

View File

@ -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