diff options
-rw-r--r-- | lib/Target/Mips/MipsMCAsmInfo.cpp | 1 | ||||
-rw-r--r-- | test/CodeGen/Mips/weak.ll | 12 |
2 files changed, 13 insertions, 0 deletions
diff --git a/lib/Target/Mips/MipsMCAsmInfo.cpp b/lib/Target/Mips/MipsMCAsmInfo.cpp index fe48ab770e..ca00463a98 100644 --- a/lib/Target/Mips/MipsMCAsmInfo.cpp +++ b/lib/Target/Mips/MipsMCAsmInfo.cpp @@ -24,4 +24,5 @@ MipsMCAsmInfo::MipsMCAsmInfo(const Target &T, StringRef TT) { ZeroDirective = "\t.space\t"; GPRel32Directive = "\t.gpword\t"; HasSetDirective = false; + WeakRefDirective = "\t.weak\t"; } diff --git a/test/CodeGen/Mips/weak.ll b/test/CodeGen/Mips/weak.ll new file mode 100644 index 0000000000..09dd2a4ebb --- /dev/null +++ b/test/CodeGen/Mips/weak.ll @@ -0,0 +1,12 @@ +; RUN: llc -march=mips < %s | FileCheck %s + +@t = common global i32 (...)* null, align 4 + +define void @f() nounwind { +entry: + store i32 (...)* @test_weak, i32 (...)** @t, align 4 + ret void +} + +; CHECK: .weak test_weak +declare extern_weak i32 @test_weak(...) |