aboutsummaryrefslogtreecommitdiffstats
path: root/test/CodeGen/X86/test-pic-4.ll
blob: 3ed1f71553d73e148aa2ba5f9f575214612268d1 (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 -f 
; RUN: grep _GLOBAL_OFFSET_TABLE_ %t
; RUN: grep piclabel %t | wc -l | grep 3
; RUN: grep PLT %t | wc -l | grep 1
; RUN: grep "GOT" %t | wc -l | grep 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(...)