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

target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:32-f32:32:32-f64:32:32-v64:64:64-v128:128:128-a0:0:32-n32"

@p = external global i32

define i32 @test(i32 %n) nounwind {
; CHECK-LABEL: @test(
entry:
  br label %for.cond

; loads aligned greater than the memory should not be moved past conditionals
; CHECK-NOT: load
; CHECK: br i1

for.cond:
  %i.0 = phi i32 [ 0, %entry ], [ %indvar.next, %for.inc ]
  %cmp = icmp slt i32 %i.0, %n
  br i1 %cmp, label %for.body, label %for.cond.for.end_crit_edge

for.cond.for.end_crit_edge:
; ...but PRE can still move the load out of for.end to here.
; CHECK: for.cond.for.end_crit_edge:
; CHECK-NEXT: load
  br label %for.end

for.body:
  %tmp3 = load i32, i32* @p, align 8
  %dec = add i32 %tmp3, -1
  store i32 %dec, i32* @p
  %cmp6 = icmp slt i32 %dec, 0
  br i1 %cmp6, label %for.body.for.end_crit_edge, label %for.inc

for.body.for.end_crit_edge:
  br label %for.end

for.inc:
  %indvar.next = add i32 %i.0, 1
  br label %for.cond

for.end:
  %tmp9 = load i32, i32* @p, align 8
  ret i32 %tmp9
}
