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