aboutsummaryrefslogtreecommitdiffstats
path: root/test/CodeGen/X86/test-pic-4.ll
blob: 7637d35fe49f1d63be839906bc5816b9e526207d (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(...)