Use Align for TFL::TransientStackAlignment
[llvm-core.git] / test / CodeGen / Mips / gpreg-lazy-binding.ll
blobc55e9fa21c1e04127caea8847f6b5c72aa7f865d
1 ; RUN: llc -march=mipsel -disable-mips-delay-filler -relocation-model=pic -mips-tail-calls=1 < %s | FileCheck %s
3 @g = external global i32
5 ; CHECK:     move  $gp
6 ; CHECK:     jalr  $25
7 ; CHECK:     nop
8 ; CHECK-NOT: move  $gp
9 ; CHECK:     jr    $25
11 define void @f0() nounwind {
12 entry:
13   tail call void @externalFunc() nounwind
14   tail call fastcc void @internalFunc()
15   ret void
18 declare void @externalFunc()
20 define internal fastcc void @internalFunc() nounwind noinline {
21 entry:
22   %0 = load i32, i32* @g, align 4
23   %inc = add nsw i32 %0, 1
24   store i32 %inc, i32* @g, align 4
25   ret void
28 define void @no_lazy(void (i32)* %pf) {
30 ; CHECK-LABEL:  no_lazy
31 ; CHECK-NOT:    gp_disp
33   tail call void %pf(i32 1)
34   ret void