mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 03:02:36 +01:00
c0b1b6c031
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
21 lines
583 B
LLVM
21 lines
583 B
LLVM
; 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-LARGE
|
|
|
|
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 4}
|
|
|
|
@data = internal constant [0 x i32] []
|
|
|
|
define i32* @_start() nounwind readonly {
|
|
entry:
|
|
; CHECK-LARGE-LABEL: _start:
|
|
; CHECK-LARGE: movabsq $0, %rax
|
|
ret i32* getelementptr ([0 x i32], [0 x i32]* @data, i64 0, i64 0)
|
|
}
|