1e578e970SPetar Jovanovic; RUN: llc -march=mipsel -relocation-model=pic < %s | FileCheck %s 21f24e6a6SAkira Hatanaka 31f24e6a6SAkira Hatanaka@g1 = external global i32* 41f24e6a6SAkira Hatanaka 5d24ab20eSStephen Lin; CHECK-LABEL: foo1: 61f24e6a6SAkira Hatanaka; CHECK: lw ${{[0-9]+}}, %got(g1) 71f24e6a6SAkira Hatanaka; CHECK: # %for.body 81f24e6a6SAkira Hatanaka; CHECK: # %for.end 91f24e6a6SAkira Hatanaka 101f24e6a6SAkira Hatanakadefine i32 @foo1() { 111f24e6a6SAkira Hatanakaentry: 121f24e6a6SAkira Hatanaka %b = alloca [16 x i32], align 4 131f24e6a6SAkira Hatanaka %0 = bitcast [16 x i32]* %b to i8* 14*f10061ecSMatt Arsenault call void @llvm.lifetime.start.p0i8(i64 64, i8* %0) 1579e6c749SDavid Blaikie %arraydecay = getelementptr inbounds [16 x i32], [16 x i32]* %b, i32 0, i32 0 161f24e6a6SAkira Hatanaka br label %for.body 171f24e6a6SAkira Hatanaka 181f24e6a6SAkira Hatanakafor.body: ; preds = %for.body, %entry 191f24e6a6SAkira Hatanaka %i.05 = phi i32 [ 0, %entry ], [ %inc, %for.body ] 201f24e6a6SAkira Hatanaka %v.04 = phi i32 [ 0, %entry ], [ %add, %for.body ] 21a79ac14fSDavid Blaikie %1 = load i32*, i32** @g1, align 4 2279e6c749SDavid Blaikie %arrayidx = getelementptr inbounds i32, i32* %1, i32 %i.05 23a79ac14fSDavid Blaikie %2 = load i32, i32* %arrayidx, align 4 241f24e6a6SAkira Hatanaka %call = call i32 @foo2(i32 %2, i32* %arraydecay) 251f24e6a6SAkira Hatanaka %add = add nsw i32 %call, %v.04 261f24e6a6SAkira Hatanaka %inc = add nsw i32 %i.05, 1 271f24e6a6SAkira Hatanaka %exitcond = icmp eq i32 %inc, 10000 281f24e6a6SAkira Hatanaka br i1 %exitcond, label %for.end, label %for.body 291f24e6a6SAkira Hatanaka 301f24e6a6SAkira Hatanakafor.end: ; preds = %for.body 31*f10061ecSMatt Arsenault call void @llvm.lifetime.end.p0i8(i64 64, i8* %0) 321f24e6a6SAkira Hatanaka ret i32 %add 331f24e6a6SAkira Hatanaka} 341f24e6a6SAkira Hatanaka 35*f10061ecSMatt Arsenaultdeclare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) 361f24e6a6SAkira Hatanaka 371f24e6a6SAkira Hatanakadeclare i32 @foo2(i32, i32*) 381f24e6a6SAkira Hatanaka 39*f10061ecSMatt Arsenaultdeclare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) 40