aboutsummaryrefslogtreecommitdiffstats
path: root/test/tools
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2013-09-19 22:15:52 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2013-09-19 22:15:52 +0000
commit88fae0edcce84920ba7c5685c36f6bd6cfb9b86d (patch)
treec1956347a81b84b10b8310d7dbc7e28443d33c05 /test/tools
parent617305a0eb086f34a1005c8be2af3eea4a2a715d (diff)
downloadexternal_llvm-88fae0edcce84920ba7c5685c36f6bd6cfb9b86d.zip
external_llvm-88fae0edcce84920ba7c5685c36f6bd6cfb9b86d.tar.gz
external_llvm-88fae0edcce84920ba7c5685c36f6bd6cfb9b86d.tar.bz2
Fix LTO handling of module-level assembly (PR14152).
Patch by Tom Roeder! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191042 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/tools')
-rw-r--r--test/tools/lto/cfi_endproc.ll20
-rw-r--r--test/tools/lto/lit.local.cfg3
2 files changed, 23 insertions, 0 deletions
diff --git a/test/tools/lto/cfi_endproc.ll b/test/tools/lto/cfi_endproc.ll
new file mode 100644
index 0000000..0a47b02
--- /dev/null
+++ b/test/tools/lto/cfi_endproc.ll
@@ -0,0 +1,20 @@
+; RUN: llvm-as < %s >%t1
+; RUN: llvm-lto -o %t2 %t1
+
+target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
+target triple = "x86_64-unknown-linux-gnu"
+
+module asm ".text"
+module asm ".align 16, 0x90"
+module asm ".type PR14512, @function"
+module asm "PR14512:.cfi_startproc"
+module asm "ret"
+module asm ".cfi_endproc"
+
+declare void @PR14512()
+
+define i32 @main(i32 %argc, i8** %argv) {
+ call void @PR14512()
+ ret i32 0
+}
+; XFAIL: win32
diff --git a/test/tools/lto/lit.local.cfg b/test/tools/lto/lit.local.cfg
new file mode 100644
index 0000000..6df0e03
--- /dev/null
+++ b/test/tools/lto/lit.local.cfg
@@ -0,0 +1,3 @@
+targets = set(config.root.targets_to_build.split())
+if not 'X86' in targets:
+ config.unsupported = True