summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen')
-rw-r--r--llvm/test/CodeGen/PowerPC/coal-sections.ll24
-rw-r--r--llvm/test/CodeGen/X86/coal-sections.ll23
-rw-r--r--llvm/test/CodeGen/X86/global-sections.ll7
3 files changed, 50 insertions, 4 deletions
diff --git a/llvm/test/CodeGen/PowerPC/coal-sections.ll b/llvm/test/CodeGen/PowerPC/coal-sections.ll
new file mode 100644
index 00000000000..377891c4714
--- /dev/null
+++ b/llvm/test/CodeGen/PowerPC/coal-sections.ll
@@ -0,0 +1,24 @@
+; RUN: llc < %s -mtriple powerpc-apple-darwin8 -march=ppc32 | FileCheck %s
+
+; Check that *coal* sections are emitted.
+
+; CHECK: .section __TEXT,__textcoal_nt,coalesced,pure_instructions
+; CHECK: .section __TEXT,__textcoal_nt,coalesced,pure_instructions
+; CHECK-NEXT: .globl _foo
+
+; CHECK: .section __TEXT,__const_coal,coalesced
+; CHECK-NEXT: .globl _a
+
+; CHECK: .section __DATA,__datacoal_nt,coalesced
+; CHECK-NEXT: .globl _b
+
+@a = weak_odr constant [4 x i32] [i32 1, i32 2, i32 3, i32 4], align 16
+@b = weak global i32 5, align 4
+@g = common global i32* null, align 8
+
+; Function Attrs: nounwind ssp uwtable
+define weak i32* @foo() {
+entry:
+ store i32* getelementptr inbounds ([4 x i32], [4 x i32]* @a, i64 0, i64 0), i32** @g, align 8
+ ret i32* @b
+}
diff --git a/llvm/test/CodeGen/X86/coal-sections.ll b/llvm/test/CodeGen/X86/coal-sections.ll
new file mode 100644
index 00000000000..05b2a8c8bf8
--- /dev/null
+++ b/llvm/test/CodeGen/X86/coal-sections.ll
@@ -0,0 +1,23 @@
+; RUN: llc < %s -mtriple x86_64-apple-darwin | FileCheck %s
+
+; Check that *coal* sections are not emitted.
+
+; CHECK: .section __TEXT,__text,regular,pure_instructions{{$}}
+; CHECK-NEXT: .globl _foo
+
+; CHECK: .section __TEXT,__const{{$}}
+; CHECK-NEXT: .globl _a
+
+; CHECK: .section __DATA,__data{{$}}
+; CHECK-NEXT: .globl _b
+
+@a = weak_odr constant [4 x i32] [i32 1, i32 2, i32 3, i32 4], align 16
+@b = weak global i32 5, align 4
+@g = common global i32* null, align 8
+
+; Function Attrs: nounwind ssp uwtable
+define weak i32* @foo() {
+entry:
+ store i32* getelementptr inbounds ([4 x i32], [4 x i32]* @a, i64 0, i64 0), i32** @g, align 8
+ ret i32* @b
+}
diff --git a/llvm/test/CodeGen/X86/global-sections.ll b/llvm/test/CodeGen/X86/global-sections.ll
index 82547a60674..92440f2b331 100644
--- a/llvm/test/CodeGen/X86/global-sections.ll
+++ b/llvm/test/CodeGen/X86/global-sections.ll
@@ -117,7 +117,7 @@ bb7:
; TODO: linux drops this into .rodata, we drop it into ".gnu.linkonce.r.G2"
-; DARWIN: .section __TEXT,__const_coal,coalesced
+; DARWIN: .section __TEXT,__const{{$}}
; DARWIN: _G2:
; DARWIN: .long 42
@@ -176,7 +176,6 @@ bb7:
; LINUX: .weak "foo bar"
; LINUX: "foo bar":
-; DARWIN: .section __DATA,__datacoal_nt,coalesced
; DARWIN: .globl "_foo bar"
; DARWIN: .weak_definition "_foo bar"
; DARWIN: "_foo bar":
@@ -190,7 +189,7 @@ bb7:
; LINUX: .byte 1
; LINUX: .size G6, 1
-; DARWIN: .section __TEXT,__const_coal,coalesced
+; DARWIN: .section __TEXT,__const{{$}}
; DARWIN: .globl _G6
; DARWIN: .weak_definition _G6
; DARWIN:_G6:
@@ -239,7 +238,7 @@ bb7:
@G10 = weak global [100 x i32] zeroinitializer, align 32 ; <[100 x i32]*> [#uses=0]
-; DARWIN: .section __DATA,__datacoal_nt,coalesced
+; DARWIN: .section __DATA,__data{{$}}
; DARWIN: .globl _G10
; DARWIN: .weak_definition _G10
; DARWIN: .align 5
OpenPOWER on IntegriCloud