; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt -S -passes=jump-threading < %s | FileCheck %s
; <rdar://problem/9284786>

%0 = type <{ i64, i16, i64, i8, i8 }>

@g_338 = external global %0, align 8

define void @func_1() nounwind ssp {
; CHECK-LABEL: @func_1(
; CHECK-NEXT:  entry:
; CHECK-NEXT:    ret void
; CHECK:       for.cond1177:
; CHECK-NEXT:    [[INC1187:%.*]] = add nsw i32 0, 1
; CHECK-NEXT:    [[CMP1179:%.*]] = icmp slt i32 [[INC1187]], 5
; CHECK-NEXT:    br i1 [[CMP1179]], label [[FOR_COND1177:%.*]], label [[LAND_RHS1320:%.*]]
; CHECK:       land.rhs1320:
; CHECK-NEXT:    [[TMP1324:%.*]] = load volatile i64, ptr getelementptr inbounds ([[TMP0:%.*]], ptr @g_338, i64 0, i32 2), align 1
; CHECK-NEXT:    br label [[IF_END_I:%.*]]
; CHECK:       if.end.i:
; CHECK-NEXT:    [[TOBOOL_PR_I:%.*]] = phi i1 [ false, [[IF_END_I]] ], [ false, [[LAND_RHS1320]] ]
; CHECK-NEXT:    br i1 [[TOBOOL_PR_I]], label [[RETURN:%.*]], label [[IF_END_I]]
; CHECK:       return:
; CHECK-NEXT:    ret void
;
entry:
  ret void

for.cond1177:
  %inc1187 = add nsw i32 0, 1
  %cmp1179 = icmp slt i32 %inc1187, 5
  br i1 %cmp1179, label %for.cond1177, label %land.rhs1320

land.rhs1320:
  %tmp1324 = load volatile i64, ptr getelementptr inbounds (%0, ptr @g_338, i64 0, i32 2), align 1
  br label %if.end.i

if.end.i:
  %tobool.pr.i = phi i1 [ false, %if.end.i ], [ false, %land.rhs1320 ]
  br i1 %tobool.pr.i, label %return, label %if.end.i

return:
  ret void
}
