aboutsummaryrefslogtreecommitdiffstats
path: root/test/Object/X86
diff options
context:
space:
mode:
Diffstat (limited to 'test/Object/X86')
-rw-r--r--test/Object/X86/archive-ir-asm.ll20
-rw-r--r--test/Object/X86/lit.local.cfg3
-rw-r--r--test/Object/X86/nm-ir.ll45
3 files changed, 66 insertions, 2 deletions
diff --git a/test/Object/X86/archive-ir-asm.ll b/test/Object/X86/archive-ir-asm.ll
new file mode 100644
index 0000000..560ac17
--- /dev/null
+++ b/test/Object/X86/archive-ir-asm.ll
@@ -0,0 +1,20 @@
+; RUN: llvm-as %s -o=%t1
+; RUN: rm -f %t2
+; RUN: llvm-ar rcs %t2 %t1
+; RUN: llvm-nm -M %t2 | FileCheck %s
+
+target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-unknown-linux-gnu"
+
+module asm ".global global_asm_sym"
+module asm "global_asm_sym:"
+module asm "local_asm_sym:"
+module asm ".long undef_asm_sym"
+
+; CHECK: Archive map
+; CHECK-NEXT: global_asm_sym in archive-ir-asm.ll
+
+; CHECK: archive-ir-asm.ll
+; CHECK-NEXT: T global_asm_sym
+; CHECK-NEXT: t local_asm_sym
+; CHECK-NEXT: U undef_asm_sym
diff --git a/test/Object/X86/lit.local.cfg b/test/Object/X86/lit.local.cfg
index ba763cf..e71f3cc 100644
--- a/test/Object/X86/lit.local.cfg
+++ b/test/Object/X86/lit.local.cfg
@@ -1,4 +1,3 @@
-targets = set(config.root.targets_to_build.split())
-if not 'X86' in targets:
+if not 'X86' in config.root.targets:
config.unsupported = True
diff --git a/test/Object/X86/nm-ir.ll b/test/Object/X86/nm-ir.ll
new file mode 100644
index 0000000..6bb7e23
--- /dev/null
+++ b/test/Object/X86/nm-ir.ll
@@ -0,0 +1,45 @@
+; RUN: llvm-as %s -o - | llvm-nm - | FileCheck %s
+
+; CHECK: D a1
+; CHECK-NEXT: d a2
+; CHECK-NEXT: T f1
+; CHECK-NEXT: t f2
+; CHECK-NEXT: W f3
+; CHECK-NEXT: U f4
+; CHECK-NEXT: D g1
+; CHECK-NEXT: d g2
+; CHECK-NEXT: C g3
+; CHECK-NOT: g4
+; CHECK-NEXT: T global_asm_sym
+; CHECK-NEXT: t local_asm_sym
+; CHECK-NEXT: U undef_asm_sy
+
+target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-unknown-linux-gnu"
+
+module asm ".global global_asm_sym"
+module asm "global_asm_sym:"
+module asm "local_asm_sym:"
+module asm ".long undef_asm_sym"
+
+@g1 = global i32 42
+@g2 = internal global i32 42
+@g3 = common global i32 0
+@g4 = private global i32 42
+
+@a1 = alias i32* @g1
+@a2 = alias internal i32* @g1
+
+define void @f1() {
+ ret void
+}
+
+define internal void @f2() {
+ ret void
+}
+
+define linkonce_odr void @f3() {
+ ret void
+}
+
+declare void @f4()