; RUN: opt -disable-output -debugify-each -passes=gvn < %s 2>&1 | FileCheck %s

; CHECK-NOT: ERROR: Instruction with empty DebugLoc in function _Z3bazv --  {{%.*}} = phi
; CHECK: CheckFunctionDebugify [GVN]: PASS

@foo = dso_local local_unnamed_addr global i32 0, align 4
@x = global i8 17

define dso_local void @_Z3bazv() local_unnamed_addr #0 {
entry:
  br label %for.cond

for.cond.loopexit.loopexit:                       ; preds = %for.inc
  br label %for.cond.loopexit

for.cond.loopexit:                                ; preds = %for.cond.loopexit.loopexit, %for.cond
  br label %for.cond

for.cond:                                         ; preds = %for.cond.loopexit, %entry
  %.pr = load i32, i32* @foo, align 4
  %tobool1 = icmp eq i32 %.pr, 0
  br i1 %tobool1, label %for.cond.loopexit, label %for.inc.preheader

for.inc.preheader:                                ; preds = %for.cond
  br label %for.inc

for.inc:                                          ; preds = %for.inc.preheader, %for.inc
  %val = load i8, i8* @x
  %conv = sext i8 %val to i32
  store i32 %conv, i32* @foo, align 4
  %tobool = icmp eq i8 %val, 0
  br i1 %tobool, label %for.cond.loopexit.loopexit, label %for.inc
}

declare dso_local signext i8 @_Z3barv() local_unnamed_addr #1
