diff options
Diffstat (limited to 'lld/test')
-rw-r--r-- | lld/test/ELF/lto/Inputs/common3.ll | 3 | ||||
-rw-r--r-- | lld/test/ELF/lto/common2.ll | 13 | ||||
-rw-r--r-- | lld/test/ELF/lto/common3.ll | 14 |
3 files changed, 25 insertions, 5 deletions
diff --git a/lld/test/ELF/lto/Inputs/common3.ll b/lld/test/ELF/lto/Inputs/common3.ll new file mode 100644 index 00000000000..a4efc659157 --- /dev/null +++ b/lld/test/ELF/lto/Inputs/common3.ll @@ -0,0 +1,3 @@ +target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" +target triple = "x86_64-unknown-linux-gnu" +@a = common hidden global i64 0, align 4 diff --git a/lld/test/ELF/lto/common2.ll b/lld/test/ELF/lto/common2.ll index 59a2676e4fc..6b740c4be70 100644 --- a/lld/test/ELF/lto/common2.ll +++ b/lld/test/ELF/lto/common2.ll @@ -7,15 +7,18 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" @a = common global i8 0, align 8 +; CHECK-DAG: @a = common global i8 0, align 8 -; Shared library case, we ensure that the bitcode generated file -; has not the a symbol but is appears in the final shared library -; produced. -; CHECK-NOT: @a = common global i8 0, align 8 +@b = common hidden global i32 0, align 4 +define i32 @f() { + %t = load i32, i32* @b, align 4 + ret i32 %t +} +; CHECK-DAG: @b = internal global i32 0, align 4 ; SHARED: Symbol { ; SHARED: Name: a -; SHARED-NEXT: Value: 0x2000 +; SHARED-NEXT: Value: ; SHARED-NEXT: Size: 1 ; SHARED-NEXT: Binding: Global ; SHARED-NEXT: Type: Object diff --git a/lld/test/ELF/lto/common3.ll b/lld/test/ELF/lto/common3.ll new file mode 100644 index 00000000000..a6020ca8c92 --- /dev/null +++ b/lld/test/ELF/lto/common3.ll @@ -0,0 +1,14 @@ +; RUN: llvm-as %s -o %t1.o +; RUN: llvm-as %S/Inputs/common3.ll -o %t2.o +; RUN: ld.lld -m elf_x86_64 %t1.o %t2.o -o %t -shared -save-temps +; RUN: llvm-dis < %t.lto.bc | FileCheck %s + +target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" +target triple = "x86_64-unknown-linux-gnu" +@a = common hidden global i32 0, align 8 +define i32 @f() { + %t = load i32, i32* @a, align 4 + ret i32 %t +} + +; CHECK: @a = internal global i64 0, align 8 |