; RUN: opt < %s -basicaa -newgvn -S | FileCheck %s
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
target triple = "x86_64-apple-macosx10.7.0"

; rdar://12801584
; Value of %shouldExit can be changed by RunInMode.
; Make sure we do not replace load %shouldExit in while.cond.backedge
; with a phi node where the value from while.body is 0.
define i32 @test() nounwind ssp {
entry:
; CHECK: test()
; CHECK: while.body:
; CHECK: call void @RunInMode
; CHECK: br i1 %tobool, label %while.cond.backedge, label %if.then
; CHECK: while.cond.backedge:
; CHECK: load i32, i32* %shouldExit
; CHECK: br i1 %cmp, label %while.body
  %shouldExit = alloca i32, align 4
  %tasksIdle = alloca i32, align 4
  store i32 0, i32* %shouldExit, align 4
  store i32 0, i32* %tasksIdle, align 4
  call void @CTestInitialize(i32* %tasksIdle) nounwind
  %0 = load i32, i32* %shouldExit, align 4
  %cmp1 = icmp eq i32 %0, 0
  br i1 %cmp1, label %while.body.lr.ph, label %while.end

while.body.lr.ph:
  br label %while.body

while.body:
  call void @RunInMode(i32 100) nounwind
  %1 = load i32, i32* %tasksIdle, align 4
  %tobool = icmp eq i32 %1, 0
  br i1 %tobool, label %while.cond.backedge, label %if.then

if.then:
  store i32 0, i32* %tasksIdle, align 4
  call void @TimerCreate(i32* %shouldExit) nounwind
  br label %while.cond.backedge

while.cond.backedge:
  %2 = load i32, i32* %shouldExit, align 4
  %cmp = icmp eq i32 %2, 0
  br i1 %cmp, label %while.body, label %while.cond.while.end_crit_edge

while.cond.while.end_crit_edge:
  br label %while.end

while.end:
  ret i32 0
}
declare void @CTestInitialize(i32*)
declare void @RunInMode(i32)
declare void @TimerCreate(i32*)
