summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/global-sections-comdat.ll
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2015-02-12 17:16:46 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2015-02-12 17:16:46 +0000
commit29786d4c161e6fd458fb2f1abc58a9f3401ee7f7 (patch)
treed0f2822cd564783aabfca22128a79dc1227c735c /llvm/test/CodeGen/X86/global-sections-comdat.ll
parent40957cc2ce05a4355cf9f267b9d7930eee1a5093 (diff)
downloadbcm5719-llvm-29786d4c161e6fd458fb2f1abc58a9f3401ee7f7.tar.gz
bcm5719-llvm-29786d4c161e6fd458fb2f1abc58a9f3401ee7f7.zip
Put each jump table in an independent section if the function is too.
This allows the linker to GC both, fixing pr22557. llvm-svn: 228937
Diffstat (limited to 'llvm/test/CodeGen/X86/global-sections-comdat.ll')
-rw-r--r--llvm/test/CodeGen/X86/global-sections-comdat.ll33
1 files changed, 32 insertions, 1 deletions
diff --git a/llvm/test/CodeGen/X86/global-sections-comdat.ll b/llvm/test/CodeGen/X86/global-sections-comdat.ll
index a4804a7c5cf..0557d9a0ee1 100644
--- a/llvm/test/CodeGen/X86/global-sections-comdat.ll
+++ b/llvm/test/CodeGen/X86/global-sections-comdat.ll
@@ -1,5 +1,36 @@
; RUN: llc < %s -mtriple=i386-unknown-linux | FileCheck %s -check-prefix=LINUX
-; RUN: llc < %s -mtriple=i386-unknown-linux -data-sections | FileCheck %s -check-prefix=LINUX-SECTIONS
+; RUN: llc < %s -mtriple=i386-unknown-linux -data-sections -function-sections | FileCheck %s -check-prefix=LINUX-SECTIONS
+
+$F1 = comdat any
+define void @F1(i32 %y) comdat {
+bb0:
+switch i32 %y, label %bb5 [
+ i32 1, label %bb1
+ i32 2, label %bb2
+ i32 3, label %bb3
+ i32 4, label %bb4
+ ]
+bb1:
+ ret void
+bb2:
+ ret void
+bb3:
+ ret void
+bb4:
+ ret void
+bb5:
+ ret void
+}
+
+; LINUX: .section .text.F1,"axG",@progbits,F1,comdat
+; LINUX: .size F1,
+; LINUX-NEXT: .cfi_endproc
+; LINUX-NEXT: .section .rodata.F1,"aG",@progbits,F1,comdat
+
+; LINUX-SECTIONS: .section .text.F1,"axG",@progbits,F1,comdat
+; LINUX-SECTIONS: .size F1,
+; LINUX-SECTIONS-NEXT: .cfi_endproc
+; LINUX-SECTIONS-NEXT: .section .rodata.F1,"aG",@progbits,F1,comdat
$G16 = comdat any
@G16 = unnamed_addr constant i32 42, comdat
OpenPOWER on IntegriCloud