1*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -basicaa -gvn -S | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker@last = external global [65 x i32*] 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Workerdefine i32 @NextRootMove(i32 %wtm, i32 %x, i32 %y, i32 %z) { 6*9880d681SAndroid Build Coastguard Workerentry: 7*9880d681SAndroid Build Coastguard Worker %A = alloca i32* 8*9880d681SAndroid Build Coastguard Worker %tmp17618 = load i32*, i32** getelementptr ([65 x i32*], [65 x i32*]* @last, i32 0, i32 1), align 4 9*9880d681SAndroid Build Coastguard Worker store i32* %tmp17618, i32** %A 10*9880d681SAndroid Build Coastguard Worker; CHECK: entry: 11*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: alloca i32 12*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: %tmp17618 = load 13*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: load 14*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: phi 15*9880d681SAndroid Build Coastguard Worker br label %cond_true116 16*9880d681SAndroid Build Coastguard Worker 17*9880d681SAndroid Build Coastguard Workercond_true116: 18*9880d681SAndroid Build Coastguard Worker %cmp = icmp eq i32 %x, %y 19*9880d681SAndroid Build Coastguard Worker br i1 %cmp, label %cond_true128, label %cond_true145 20*9880d681SAndroid Build Coastguard Worker 21*9880d681SAndroid Build Coastguard Workercond_true128: 22*9880d681SAndroid Build Coastguard Worker %tmp17625 = load i32*, i32** getelementptr ([65 x i32*], [65 x i32*]* @last, i32 0, i32 1), align 4 23*9880d681SAndroid Build Coastguard Worker store i32* %tmp17625, i32** %A 24*9880d681SAndroid Build Coastguard Worker %cmp1 = icmp eq i32 %x, %z 25*9880d681SAndroid Build Coastguard Worker br i1 %cmp1 , label %bb98.backedge, label %return.loopexit 26*9880d681SAndroid Build Coastguard Worker 27*9880d681SAndroid Build Coastguard Workerbb98.backedge: 28*9880d681SAndroid Build Coastguard Worker br label %cond_true116 29*9880d681SAndroid Build Coastguard Worker 30*9880d681SAndroid Build Coastguard Workercond_true145: 31*9880d681SAndroid Build Coastguard Worker %tmp17631 = load i32*, i32** getelementptr ([65 x i32*], [65 x i32*]* @last, i32 0, i32 1), align 4 32*9880d681SAndroid Build Coastguard Worker store i32* %tmp17631, i32** %A 33*9880d681SAndroid Build Coastguard Worker br i1 false, label %bb98.backedge, label %return.loopexit 34*9880d681SAndroid Build Coastguard Worker 35*9880d681SAndroid Build Coastguard Workerreturn.loopexit: 36*9880d681SAndroid Build Coastguard Worker br label %return 37*9880d681SAndroid Build Coastguard Worker 38*9880d681SAndroid Build Coastguard Workerreturn: 39*9880d681SAndroid Build Coastguard Worker ret i32 0 40*9880d681SAndroid Build Coastguard Worker} 41