; RUN: opt -S -indvars < %s | FileCheck %s

target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-apple-macosx10.11.0"

; SCEVExpander would try to RAUW %val_2 with %c.lcssa, breaking "def
; dominates uses".

define void @pr27232(i32 %val) {
; CHECK-LABEL: @pr27232(
entry:
  br i1 undef, label %loop_0.cond, label %for.body.us

for.body.us:
  br label %loop_0.cond

loop_0.cond:
  %val_2 = phi i32 [ %val, %for.body.us ], [ undef, %entry ]
  br i1 true, label %loop_0.ph, label %loop_1.ph

loop_0.ph:
  br label %loop_0

loop_1.exit:
  br label %loop_1.ph

loop_1.ph:
  %c.lcssa = phi i32 [ 0, %loop_0.cond ], [ %val_2, %loop_1.exit ]
  br label %loop_1

loop_0:
  br i1 undef, label %loop_0, label %loop_1.exit

loop_1:
  %d.1 = phi i32 [ %c.lcssa, %loop_1 ], [ %val_2, %loop_1.ph ]
  %t.1 = phi i32 [ %val_2, %loop_1 ], [ %c.lcssa, %loop_1.ph ]
  br i1 undef, label %leave, label %loop_1

leave:
  ret void
}


; @ReplaceArg_0 and @ReplaceArg_1 used to trigger a failed cast<>
; assertion in SCEVExpander.

define void @ReplaceArg_0(i32 %val) {
; CHECK-LABEL: @ReplaceArg_0(
entry:
  br i1 undef, label %loop_0.cond, label %for.body.us

for.body.us:
  br label %loop_0.cond

loop_0.cond:
  br i1 true, label %loop_0.ph, label %loop_1.ph

loop_0.ph:
  br label %loop_0

loop_1.exit:
  br label %loop_1.ph

loop_1.ph:
  %c.lcssa = phi i32 [ 0, %loop_0.cond ], [ %val, %loop_1.exit ]
  br label %loop_1

loop_0:
  br i1 undef, label %loop_0, label %loop_1.exit

loop_1:
  %d.1 = phi i32 [ %c.lcssa, %loop_1 ], [ %val, %loop_1.ph ]
  %t.1 = phi i32 [ %val, %loop_1 ], [ %c.lcssa, %loop_1.ph ]
  br i1 undef, label %leave, label %loop_1

leave:
  ret void
}

define void @ReplaceArg_1(i32 %val) {
; CHECK-LABEL: @ReplaceArg_1(
entry:
  br i1 undef, label %loop_0.cond, label %for.body.us

for.body.us:
  br label %loop_0.cond

loop_0.cond:
  br i1 true, label %loop_0.ph, label %loop_1.ph

loop_0.ph:
  br label %loop_0

loop_1.exit:
  br label %loop_1.ph

loop_1.ph:
  %c.lcssa = phi i32 [ 0, %loop_0.cond ], [ %val, %loop_1.exit ]
  br label %loop_1

loop_0:
  br i1 undef, label %loop_0, label %loop_1.exit

loop_1:
  %t.1 = phi i32 [ %val, %loop_1 ], [ %c.lcssa, %loop_1.ph ]
  %d.1 = phi i32 [ %c.lcssa, %loop_1 ], [ %val, %loop_1.ph ]
  br i1 undef, label %leave, label %loop_1

leave:
  ret void
}
