Stackmap shadows should consider call returns a branch target.
[oota-llvm.git] / test / CodeGen / Mips / global-pointer-reg.ll
1 ; DISABLED: llc < %s -march=mipsel -mips-fix-global-base-reg=false | FileCheck %s 
2 ; RUN: false
3 ; XFAIL: *
4
5 @g0 = external global i32
6 @g1 = external global i32
7 @g2 = external global i32
8
9 define void @foo1() nounwind {
10 entry:
11 ; CHECK-NOT:    .cpload
12 ; CHECK-NOT:    .cprestore
13 ; CHECK: lui    $[[R0:[0-9]+]], %hi(_gp_disp)
14 ; CHECK: addiu  $[[R1:[0-9]+]], $[[R0]], %lo(_gp_disp)
15 ; CHECK: addu   $[[GP:[0-9]+]], $[[R1]], $25
16 ; CHECK: lw     ${{[0-9]+}}, %call16(foo2)($[[GP]])
17
18   tail call void @foo2(i32* @g0) nounwind
19   tail call void @foo2(i32* @g1) nounwind
20   tail call void @foo2(i32* @g2) nounwind
21   ret void
22 }
23
24 declare void @foo2(i32*)