diff options
author | Saleem Abdulrasool <compnerd@compnerd.org> | 2014-05-17 04:28:08 +0000 |
---|---|---|
committer | Saleem Abdulrasool <compnerd@compnerd.org> | 2014-05-17 04:28:08 +0000 |
commit | 46fed305db66aaeecfb9dd5accb2cb01111ce6df (patch) | |
tree | be378af0de824737107083fb23b8b8f0b10d570c | |
parent | c85473143c006690cb766a008736554ad8493ff5 (diff) | |
download | bcm5719-llvm-46fed305db66aaeecfb9dd5accb2cb01111ce6df.tar.gz bcm5719-llvm-46fed305db66aaeecfb9dd5accb2cb01111ce6df.zip |
ARM: use the proper target object format for WoA
WoA uses COFF, not ELF. ARMISelLowering::createTLOF would previously return ELF
for any non-MachO platform. This was a missed site when the original change for
target format support for Windows on ARM was done.
llvm-svn: 209057
-rw-r--r-- | llvm/lib/Target/ARM/ARMISelLowering.cpp | 3 | ||||
-rw-r--r-- | llvm/test/CodeGen/ARM/Windows/read-only-data.ll | 15 |
2 files changed, 17 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/ARMISelLowering.cpp b/llvm/lib/Target/ARM/ARMISelLowering.cpp index c2d9b7a1248..d0d1018f34e 100644 --- a/llvm/lib/Target/ARM/ARMISelLowering.cpp +++ b/llvm/lib/Target/ARM/ARMISelLowering.cpp @@ -158,7 +158,8 @@ void ARMTargetLowering::addQRTypeForNEON(MVT VT) { static TargetLoweringObjectFile *createTLOF(TargetMachine &TM) { if (TM.getSubtarget<ARMSubtarget>().isTargetMachO()) return new TargetLoweringObjectFileMachO(); - + if (TM.getSubtarget<ARMSubtarget>().isTargetWindows()) + return new TargetLoweringObjectFileCOFF(); return new ARMElfTargetObjectFile(); } diff --git a/llvm/test/CodeGen/ARM/Windows/read-only-data.ll b/llvm/test/CodeGen/ARM/Windows/read-only-data.ll new file mode 100644 index 00000000000..965018df8fd --- /dev/null +++ b/llvm/test/CodeGen/ARM/Windows/read-only-data.ll @@ -0,0 +1,15 @@ +; RUN: llc -mtriple thumbv7-windows -filetype asm -o - %s | FileCheck %s + +@.str = private unnamed_addr constant [7 x i8] c"string\00", align 1 + +declare arm_aapcs_vfpcc void @callee(i8*) + +define arm_aapcs_vfpcc void @function() { +entry: + call arm_aapcs_vfpcc void @callee(i8* getelementptr inbounds ([7 x i8]* @.str, i32 0, i32 0)) + ret void +} + +; CHECK: .section ".rdata","rd" +; CHECK-NOT: .section ".rodata.str1.1" + |