summaryrefslogtreecommitdiffstats
path: root/llvm/test/LTO/X86/codemodel-1.ll
diff options
context:
space:
mode:
authorCaroline Tice <cmtice@google.com>2018-09-21 18:41:31 +0000
committerCaroline Tice <cmtice@google.com>2018-09-21 18:41:31 +0000
commit3dea3f9e0a7e2c72ff7e109d1581b62365fc7ae8 (patch)
treeae18be7979a8f0730ee13cb221f15961824720ff /llvm/test/LTO/X86/codemodel-1.ll
parent8a59dbf7fd73f28792f605c059e5cea189e0c587 (diff)
downloadbcm5719-llvm-3dea3f9e0a7e2c72ff7e109d1581b62365fc7ae8.tar.gz
bcm5719-llvm-3dea3f9e0a7e2c72ff7e109d1581b62365fc7ae8.zip
Pass code-model through Module IR to LTO which will use it.
Currently the code-model does not get saved in the module IR, so if a code model is specified when compiling with LTO, it gets lost and is not propagated properly to LTO. This patch, along with one for the front end, fixes that. Differential Revision: https://reviews.llvm.org/D52322 llvm-svn: 342760
Diffstat (limited to 'llvm/test/LTO/X86/codemodel-1.ll')
-rw-r--r--llvm/test/LTO/X86/codemodel-1.ll20
1 files changed, 20 insertions, 0 deletions
diff --git a/llvm/test/LTO/X86/codemodel-1.ll b/llvm/test/LTO/X86/codemodel-1.ll
new file mode 100644
index 00000000000..ca89c943376
--- /dev/null
+++ b/llvm/test/LTO/X86/codemodel-1.ll
@@ -0,0 +1,20 @@
+; RUN: llvm-as %s -o %t.o
+; RUN: llvm-lto2 run -r %t.o,_start,px %t.o -o %t.s
+; RUN: llvm-objdump -d %t.s.0 | FileCheck %s --check-prefix=CHECK-SMALL
+
+target triple = "x86_64-unknown-linux-gnu"
+target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
+
+!llvm.module.flags = !{!0, !1}
+
+!0 = !{i32 1, !"wchar_size", i32 4}
+!1 = !{i32 1, !"Code Model", i32 1}
+
+@data = internal constant [0 x i32] []
+
+define i32* @_start() nounwind readonly {
+entry:
+; CHECK-SMALL-LABEL: _start:
+; CHECK-SMALL: leaq (%rip), %rax
+ ret i32* getelementptr ([0 x i32], [0 x i32]* @data, i64 0, i64 0)
+}
OpenPOWER on IntegriCloud