[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