summaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/pic-4.ll
blob: 317c04bd101b4538d9ff958b704337d7bb8b7bf6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
; RUN: llvm-as < %s | \
; RUN:   llc -mtriple=i686-pc-linux-gnu -relocation-model=pic -o %t
; RUN: grep _GLOBAL_OFFSET_TABLE_ %t
; RUN: grep piclabel %t | count 3
; RUN: grep PLT %t | count 1
; RUN: grep GOT %t | count 1
; RUN: not grep GOTOFF %t

@pfoo = external global void(...)* 

define void @bar() {
entry:
    %tmp = call void(...)*(...)* @afoo()
    store void(...)* %tmp, void(...)** @pfoo
    %tmp1 = load void(...)** @pfoo
    call void(...)* %tmp1()
    br label %return
return:
    ret void
}

declare void(...)* @afoo(...)