[PATCH] D18067: [gold] Extend common.ll test.
Evgeniy Stepanov via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 10 15:17:43 PST 2016
eugenis created this revision.
eugenis added a reviewer: rafael.
eugenis added a subscriber: llvm-commits.
eugenis set the repository for this revision to rL LLVM.
A few more cases of merged common linkage variables with different sizes and alignments.
Repository:
rL LLVM
http://reviews.llvm.org/D18067
Files:
test/tools/gold/X86/Inputs/common.ll
test/tools/gold/X86/Inputs/common2.ll
test/tools/gold/X86/Inputs/common3.ll
test/tools/gold/X86/common.ll
Index: test/tools/gold/X86/common.ll
===================================================================
--- test/tools/gold/X86/common.ll
+++ test/tools/gold/X86/common.ll
@@ -1,29 +1,47 @@
; RUN: llvm-as %s -o %t1.o
; RUN: llvm-as %p/Inputs/common.ll -o %t2.o
+; RUN: llvm-as %p/Inputs/common2.ll -o %t2b.o
+; RUN: llvm-as %p/Inputs/common3.ll -o %t2c.o
+
+ at a = common global i16 0, align 8
; RUN: %gold -plugin %llvmshlibdir/LLVMgold.so \
; RUN: --plugin-opt=emit-llvm \
; RUN: -shared %t1.o %t2.o -o %t3.o
-; RUN: llvm-dis %t3.o -o - | FileCheck %s
-
- at a = common global i8 0, align 8
+; RUN: llvm-dis %t3.o -o - | FileCheck %s --check-prefix=A
; Shared library case, we merge @a as common and keep it for the symbol table.
-; CHECK: @a = common global i16 0, align 8
+; A: @a = common global i32 0, align 8
+
+; RUN: %gold -plugin %llvmshlibdir/LLVMgold.so \
+; RUN: --plugin-opt=emit-llvm \
+; RUN: -shared %t1.o %t2b.o -o %t3.o
+; RUN: llvm-dis %t3.o -o - | FileCheck %s --check-prefix=B
+
+; (i16 align 8) + (i8 align 16) = i16 align 16
+; B: @a = common global i16 0, align 16
+
+; RUN: %gold -plugin %llvmshlibdir/LLVMgold.so \
+; RUN: --plugin-opt=emit-llvm \
+; RUN: -shared %t1.o %t2c.o -o %t3.o
+; RUN: llvm-dis %t3.o -o - | FileCheck %s --check-prefix=C
+
+; (i16 align 8) + (i8 align 1) = i16 align 8.
+; C: @a = common global i16 0, align 8
; RUN: %gold -plugin %llvmshlibdir/LLVMgold.so \
; RUN: --plugin-opt=emit-llvm \
; RUN: %t1.o %t2.o -o %t3.o
; RUN: llvm-dis %t3.o -o - | FileCheck --check-prefix=EXEC %s
; All IR case, we internalize a after merging.
-; EXEC: @a = internal global i16 0, align 8
+; EXEC: @a = internal global i32 0, align 8
-; RUN: llc %p/Inputs/common.ll -o %t2.o -filetype=obj
+; RUN: llc %p/Inputs/common.ll -o %t2native.o -filetype=obj
; RUN: %gold -plugin %llvmshlibdir/LLVMgold.so \
; RUN: --plugin-opt=emit-llvm \
-; RUN: %t1.o %t2.o -o %t3.o
+; RUN: %t1.o %t2native.o -o %t3.o
; RUN: llvm-dis %t3.o -o - | FileCheck --check-prefix=MIXED %s
; Mixed ELF and IR. We keep ours as common so the linker will finish the merge.
-; MIXED: @a = common global i8 0, align 8
+; MIXED: @a = common global i16 0, align 8
Index: test/tools/gold/X86/Inputs/common3.ll
===================================================================
--- /dev/null
+++ test/tools/gold/X86/Inputs/common3.ll
@@ -0,0 +1 @@
+ at a = common global i8 0, align 1
Index: test/tools/gold/X86/Inputs/common2.ll
===================================================================
--- /dev/null
+++ test/tools/gold/X86/Inputs/common2.ll
@@ -0,0 +1 @@
+ at a = common global i8 0, align 16
Index: test/tools/gold/X86/Inputs/common.ll
===================================================================
--- test/tools/gold/X86/Inputs/common.ll
+++ test/tools/gold/X86/Inputs/common.ll
@@ -1 +1 @@
- at a = common global i16 0, align 4
+ at a = common global i32 0, align 4
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D18067.50364.patch
Type: text/x-patch
Size: 2928 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160310/7e8b989d/attachment.bin>
More information about the llvm-commits
mailing list