; RUN: opt < %s -analyze -branch-prob -enable-new-pm=0 | FileCheck %s
; RUN: opt < %s -passes='print<branch-prob>' -disable-output 2>&1 | FileCheck %s

; CHECK-LABEL: no_hoist
; CHECK: edge entry -> if.end probability is 0x40000000 / 0x80000000 = 50.00%
; CHECK: edge entry -> if.then probability is 0x40000000 / 0x80000000 = 50.00%
; CHECK: edge if.end -> if.end4 probability is 0x40000000 / 0x80000000 = 50.00%
; CHECK: edge if.end -> if.then3 probability is 0x40000000 / 0x80000000 = 50.00%
define dso_local void @no_hoist(i64 %arg1, i64 %arg2) local_unnamed_addr #0 {
entry:
  %and = and i64 %arg1, 1152921504606846976
  %tobool.not = icmp eq i64 %and, 0
  br i1 %tobool.not, label %if.end, label %if.then

if.then:                                          ; preds = %entry
  tail call void @bar()
  br label %if.end

if.end:                                           ; preds = %if.then, %entry
  %and1 = and i64 %arg2, 1152921504606846976
  %tobool2.not = icmp eq i64 %and1, 0
  br i1 %tobool2.not, label %if.end4, label %if.then3

if.then3:                                         ; preds = %if.end
  tail call void @baz()
  br label %if.end4

if.end4:                                          ; preds = %if.then3, %if.end
  ret void
}

; CHECK-LABEL: hoist
; CHECK: edge entry -> if.end probability is 0x40000000 / 0x80000000 = 50.00%
; CHECK: edge entry -> if.then probability is 0x40000000 / 0x80000000 = 50.00%
; CHECK: edge if.end -> if.end4 probability is 0x40000000 / 0x80000000 = 50.00%
; CHECK: edge if.end -> if.then3 probability is 0x40000000 / 0x80000000 = 50.00%
define dso_local void @hoist(i64 %arg1, i64 %arg2) local_unnamed_addr #0 {
entry:
  %const = bitcast i64 1152921504606846976 to i64
  %and = and i64 %arg1, %const
  %tobool.not = icmp eq i64 %and, 0
  br i1 %tobool.not, label %if.end, label %if.then

if.then:                                          ; preds = %entry
  tail call void @bar()
  br label %if.end

if.end:                                           ; preds = %if.then, %entry
  %and1 = and i64 %arg2, %const
  %tobool2.not = icmp eq i64 %and1, 0
  br i1 %tobool2.not, label %if.end4, label %if.then3

if.then3:                                         ; preds = %if.end
  tail call void @baz()
  br label %if.end4

if.end4:                                          ; preds = %if.then3, %if.end
  ret void
}

declare dso_local void @bar() local_unnamed_addr #1

declare dso_local void @baz() local_unnamed_addr #1
