1*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=arm-eabi -mattr=+v4t %s -o - | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=arm-eabi -mattr=+v4t -addr-sink-using-gep=1 %s -o - | FileCheck %s 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Worker; <rdar://problem/8686347> 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Workerdefine i32 @test1(i1 %a, i32* %b) { 7*9880d681SAndroid Build Coastguard Worker; CHECK: test1 8*9880d681SAndroid Build Coastguard Workerentry: 9*9880d681SAndroid Build Coastguard Worker br i1 %a, label %lblock, label %rblock 10*9880d681SAndroid Build Coastguard Worker 11*9880d681SAndroid Build Coastguard Workerlblock: 12*9880d681SAndroid Build Coastguard Worker %lbranch = getelementptr i32, i32* %b, i32 1 13*9880d681SAndroid Build Coastguard Worker br label %end 14*9880d681SAndroid Build Coastguard Worker 15*9880d681SAndroid Build Coastguard Workerrblock: 16*9880d681SAndroid Build Coastguard Worker %rbranch = getelementptr i32, i32* %b, i32 1 17*9880d681SAndroid Build Coastguard Worker br label %end 18*9880d681SAndroid Build Coastguard Worker 19*9880d681SAndroid Build Coastguard Workerend: 20*9880d681SAndroid Build Coastguard Worker; CHECK: ldr r0, [r1, #4] 21*9880d681SAndroid Build Coastguard Worker %gep = phi i32* [%lbranch, %lblock], [%rbranch, %rblock] 22*9880d681SAndroid Build Coastguard Worker %r = load i32, i32* %gep 23*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: bx lr 24*9880d681SAndroid Build Coastguard Worker ret i32 %r 25*9880d681SAndroid Build Coastguard Worker} 26