diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2015-02-12 17:16:46 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2015-02-12 17:16:46 +0000 |
commit | 29786d4c161e6fd458fb2f1abc58a9f3401ee7f7 (patch) | |
tree | d0f2822cd564783aabfca22128a79dc1227c735c /llvm/test/CodeGen/X86/global-sections-comdat.ll | |
parent | 40957cc2ce05a4355cf9f267b9d7930eee1a5093 (diff) | |
download | bcm5719-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.ll | 33 |
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 |