~ubuntu-branches/ubuntu/trusty/llvm-toolchain-snapshot/trusty-201310232150

« back to all changes in this revision

Viewing changes to test/CodeGen/SystemZ/la-02.ll

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2013-05-27 15:01:57 UTC
  • mfrom: (0.10.1) (0.9.1) (0.8.1) (0.7.1) (0.6.1) (0.5.2)
  • Revision ID: package-import@ubuntu.com-20130527150157-tdkrsjpuvht7v0qx
Tags: 1:3.4~svn182733-1~exp1
* New snapshot release (3.4 release)
* Add a symlink of libLLVM-3.4.so.1 to usr/lib/llvm-3.4/lib/libLLVM-3.4.so
    to fix make the llvm-config-3.4 --libdir work (Closes: #708677)
  * Various packages rename to allow co installations:
    * libclang1 => libclang1-3.4
    * libclang1-dbg => libclang1-3.4-dbg
    * libclang-dev => libclang-3.4-dev
    * libclang-common-dev => libclang-common-3.4-dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
; Test loads of symbolic addresses when generating medium- and
 
2
; large-model non-PIC.
 
3
;
 
4
; RUN: llc < %s -mtriple=s390x-linux-gnu -code-model=medium | FileCheck %s
 
5
; RUN: llc < %s -mtriple=s390x-linux-gnu -code-model=large | FileCheck %s
 
6
 
 
7
@ev = external global i32
 
8
@dv = global i32 0
 
9
@pv = protected global i32 0
 
10
@hv = hidden global i32 0
 
11
 
 
12
declare void @ef()
 
13
define void @df() {
 
14
  ret void
 
15
}
 
16
define protected void @pf() {
 
17
  ret void
 
18
}
 
19
define hidden void @hf() {
 
20
  ret void
 
21
}
 
22
 
 
23
; Test loads of external variables.  There is no guarantee that the
 
24
; variable will be in range of LARL.
 
25
define i32 *@f1() {
 
26
; CHECK: f1:
 
27
; CHECK: lgrl %r2, ev@GOT
 
28
; CHECK: br %r14
 
29
  ret i32 *@ev
 
30
}
 
31
 
 
32
; ...likewise locally-defined normal-visibility variables.
 
33
define i32 *@f2() {
 
34
; CHECK: f2:
 
35
; CHECK: lgrl %r2, dv@GOT
 
36
; CHECK: br %r14
 
37
  ret i32 *@dv
 
38
}
 
39
 
 
40
; ...likewise protected variables.
 
41
define i32 *@f3() {
 
42
; CHECK: f3:
 
43
; CHECK: lgrl %r2, pv@GOT
 
44
; CHECK: br %r14
 
45
  ret i32 *@pv
 
46
}
 
47
 
 
48
; ...likewise hidden variables.
 
49
define i32 *@f4() {
 
50
; CHECK: f4:
 
51
; CHECK: lgrl %r2, hv@GOT
 
52
; CHECK: br %r14
 
53
  ret i32 *@hv
 
54
}
 
55
 
 
56
; Check loads of external functions.  This could use LARL, but we don't have
 
57
; code to detect that yet.
 
58
define void() *@f5() {
 
59
; CHECK: f5:
 
60
; CHECK: lgrl %r2, ef@GOT
 
61
; CHECK: br %r14
 
62
  ret void() *@ef
 
63
}
 
64
 
 
65
; ...likewise locally-defined normal-visibility functions.
 
66
define void() *@f6() {
 
67
; CHECK: f6:
 
68
; CHECK: lgrl %r2, df@GOT
 
69
; CHECK: br %r14
 
70
  ret void() *@df
 
71
}
 
72
 
 
73
; ...likewise protected functions.
 
74
define void() *@f7() {
 
75
; CHECK: f7:
 
76
; CHECK: lgrl %r2, pf@GOT
 
77
; CHECK: br %r14
 
78
  ret void() *@pf
 
79
}
 
80
 
 
81
; ...likewise hidden functions.
 
82
define void() *@f8() {
 
83
; CHECK: f8:
 
84
; CHECK: lgrl %r2, hf@GOT
 
85
; CHECK: br %r14
 
86
  ret void() *@hf
 
87
}