aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2009-01-15 21:51:46 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2009-01-15 21:51:46 +0000
commit3b450b3137adc8a00d4d7579220032a61d042118 (patch)
tree5cbe05c85950ce67eea4f05893bd6e1e22d3c215
parentac2a3c58747bb0c9e9ca716b30c042bf0e2b38e2 (diff)
downloadexternal_llvm-3b450b3137adc8a00d4d7579220032a61d042118.zip
external_llvm-3b450b3137adc8a00d4d7579220032a61d042118.tar.gz
external_llvm-3b450b3137adc8a00d4d7579220032a61d042118.tar.bz2
Fix Alpha test and support for private linkage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62282 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/Alpha/AsmPrinter/AlphaAsmPrinter.cpp3
-rw-r--r--test/CodeGen/Alpha/private.ll10
2 files changed, 7 insertions, 6 deletions
diff --git a/lib/Target/Alpha/AsmPrinter/AlphaAsmPrinter.cpp b/lib/Target/Alpha/AsmPrinter/AlphaAsmPrinter.cpp
index b2e63e6..b2b8fcd 100644
--- a/lib/Target/Alpha/AsmPrinter/AlphaAsmPrinter.cpp
+++ b/lib/Target/Alpha/AsmPrinter/AlphaAsmPrinter.cpp
@@ -155,6 +155,7 @@ bool AlphaAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
switch (F->getLinkage()) {
default: assert(0 && "Unknown linkage type!");
case Function::InternalLinkage: // Symbols default to internal.
+ case Function::PrivateLinkage:
break;
case Function::ExternalLinkage:
O << "\t.globl " << CurrentFnName << "\n";
@@ -169,7 +170,6 @@ bool AlphaAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
O << "\t.ent " << CurrentFnName << "\n";
- assert (!F->hasPrivateLinkage() && "add private prefix.");
O << CurrentFnName << ":\n";
// Print out code for the function.
@@ -238,6 +238,7 @@ void AlphaAsmPrinter::printModuleLevelGV(const GlobalVariable* GVar) {
O << TAI->getGlobalDirective() << name << "\n";
break;
case GlobalValue::InternalLinkage:
+ case GlobalValue::PrivateLinkage:
break;
default:
assert(0 && "Unknown linkage type!");
diff --git a/test/CodeGen/Alpha/private.ll b/test/CodeGen/Alpha/private.ll
index 8bb8253..2d9ed1e 100644
--- a/test/CodeGen/Alpha/private.ll
+++ b/test/CodeGen/Alpha/private.ll
@@ -1,10 +1,10 @@
; Test to make sure that the 'private' is used correctly.
;
-; RUN: llvm-as < %s | llc > %t
-; RUN: grep .Lfoo: %t
-; RUN: grep call.*\.Lfoo %t
-; RUN: grep .Lbaz: %t
-; RUN: grep movl.*\.Lbaz %t
+; RUN: llvm-as < %s | llc -march=alpha > %t
+; RUN: grep \\\$foo: %t
+; RUN: grep bsr.*\\\$\\\$foo %t
+; RUN: grep \\\$baz: %t
+; RUN: grep ldah.*\\\$baz %t
declare void @foo()