diff options
author | Logan Chien <tzuhsiang.chien@gmail.com> | 2012-09-05 06:17:17 +0000 |
---|---|---|
committer | Logan Chien <tzuhsiang.chien@gmail.com> | 2012-09-05 06:17:17 +0000 |
commit | fd91d8dd7e18107b35c7332b92d636420517e3cb (patch) | |
tree | 80bca951f818a6992b9a28550bc395a1e6363680 | |
parent | f6dc792df1452f015bc56590b77af9cb0d7b33d9 (diff) | |
download | external_llvm-fd91d8dd7e18107b35c7332b92d636420517e3cb.tar.gz external_llvm-fd91d8dd7e18107b35c7332b92d636420517e3cb.tar.bz2 external_llvm-fd91d8dd7e18107b35c7332b92d636420517e3cb.zip |
Fix UseInitArray option for MIPS target.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163193 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/Mips/MipsTargetObjectFile.cpp | 1 | ||||
-rw-r--r-- | test/CodeGen/Mips/init-array.ll | 14 |
2 files changed, 15 insertions, 0 deletions
diff --git a/lib/Target/Mips/MipsTargetObjectFile.cpp b/lib/Target/Mips/MipsTargetObjectFile.cpp index a7fb454512..1f5e34f82c 100644 --- a/lib/Target/Mips/MipsTargetObjectFile.cpp +++ b/lib/Target/Mips/MipsTargetObjectFile.cpp @@ -26,6 +26,7 @@ SSThreshold("mips-ssection-threshold", cl::Hidden, void MipsTargetObjectFile::Initialize(MCContext &Ctx, const TargetMachine &TM){ TargetLoweringObjectFileELF::Initialize(Ctx, TM); + InitializeELF(TM.Options.UseInitArray); SmallDataSection = getContext().getELFSection(".sdata", ELF::SHT_PROGBITS, diff --git a/test/CodeGen/Mips/init-array.ll b/test/CodeGen/Mips/init-array.ll new file mode 100644 index 0000000000..f96ce26472 --- /dev/null +++ b/test/CodeGen/Mips/init-array.ll @@ -0,0 +1,14 @@ +; RUN: llc -mtriple mipsel-unknown-linux -use-init-array < %s | FileCheck %s + +target triple = "mipsel-unknown-linux" + +@llvm.global_ctors = appending global [1 x { i32, void ()* }] [{ i32, void ()* } { i32 65535, void ()* @test }] +; CHECK: .section +; CHECK: .init_array +; CHECK-NOT: .ctors +; CHECK: .4byte test + +define internal void @test() section ".text.startup" { +entry: + ret void +} |