diff options
author | Saleem Abdulrasool <compnerd@compnerd.org> | 2017-06-05 21:26:39 +0000 |
---|---|---|
committer | Saleem Abdulrasool <compnerd@compnerd.org> | 2017-06-05 21:26:39 +0000 |
commit | 4c47434b25ea4683ff1794e2d1b24eaa16b5e30e (patch) | |
tree | 58f073f00710fedf41d31cbff3aba4e14053781b /llvm/test | |
parent | 790838110fbed51ec9a0ce688c24f81c7c40e89b (diff) | |
download | bcm5719-llvm-4c47434b25ea4683ff1794e2d1b24eaa16b5e30e.tar.gz bcm5719-llvm-4c47434b25ea4683ff1794e2d1b24eaa16b5e30e.zip |
CodeGen: add support for emitting ObjC image info
This ensures that we can emit the ObjC Image Info structure on COFF and
ELF as well. The frontend already would attempt to emit this
information but would get dropped when generating assembly or an object
file.
llvm-svn: 304736
Diffstat (limited to 'llvm/test')
-rw-r--r-- | llvm/test/Object/objc-imageinfo-coff.ll | 14 | ||||
-rw-r--r-- | llvm/test/Object/objc-imageinfo-elf.ll | 14 | ||||
-rw-r--r-- | llvm/test/Object/objc-imageinfo-macho.ll | 14 |
3 files changed, 42 insertions, 0 deletions
diff --git a/llvm/test/Object/objc-imageinfo-coff.ll b/llvm/test/Object/objc-imageinfo-coff.ll new file mode 100644 index 00000000000..cab0103b5f4 --- /dev/null +++ b/llvm/test/Object/objc-imageinfo-coff.ll @@ -0,0 +1,14 @@ +; RUN: llc -mtriple x86_64-unknown-windows-msvc -filetype asm -o - %s | FileCheck %s + +!llvm.module.flags = !{!0, !1, !2, !3} + +!0 = !{i32 1, !"Objective-C Version", i32 2} +!1 = !{i32 1, !"Objective-C Image Info Version", i32 0} +!2 = !{i32 1, !"Objective-C Image Info Section", !".objc_imageinfo$B"} +!3 = !{i32 1, !"Objective-C Garbage Collection", i32 2} + +; CHECK: .section .objc_imageinfo$B,"dr" +; CHECK: OBJC_IMAGE_INFO: +; CHECK: .long 0 +; CHECK: .long 2 + diff --git a/llvm/test/Object/objc-imageinfo-elf.ll b/llvm/test/Object/objc-imageinfo-elf.ll new file mode 100644 index 00000000000..7979e01457f --- /dev/null +++ b/llvm/test/Object/objc-imageinfo-elf.ll @@ -0,0 +1,14 @@ +; RUN: llc -mtriple x86_64-unknown-linux-gnu -filetype asm -o - %s | FileCheck %s + +!llvm.module.flags = !{!0, !1, !2, !3} + +!0 = !{i32 1, !"Objective-C Version", i32 2} +!1 = !{i32 1, !"Objective-C Image Info Version", i32 0} +!2 = !{i32 1, !"Objective-C Image Info Section", !"objc_imageinfo"} +!3 = !{i32 1, !"Objective-C Garbage Collection", i32 2} + +; CHECK: .section objc_imageinfo +; CHECK: OBJC_IMAGE_INFO: +; CHECK: .long 0 +; CHECK: .long 2 + diff --git a/llvm/test/Object/objc-imageinfo-macho.ll b/llvm/test/Object/objc-imageinfo-macho.ll new file mode 100644 index 00000000000..90bc9d91a5d --- /dev/null +++ b/llvm/test/Object/objc-imageinfo-macho.ll @@ -0,0 +1,14 @@ +; RUN: llc -mtriple x86_64-apple-ios -filetype asm -o - %s | FileCheck %s + +!llvm.module.flags = !{!0, !1, !2, !3} + +!0 = !{i32 1, !"Objective-C Version", i32 2} +!1 = !{i32 1, !"Objective-C Image Info Version", i32 0} +!2 = !{i32 1, !"Objective-C Image Info Section", !"__DATA,__objc_imageinfo,regular,no_dead_strip"} +!3 = !{i32 1, !"Objective-C Garbage Collection", i32 2} + +; CHECK: .section __DATA,__objc_imageinfo,regular,no_dead_strip +; CHECK: L_OBJC_IMAGE_INFO: +; CHECK: .long 0 +; CHECK: .long 2 + |