; RUN: opt -licm -basicaa < %s -S | FileCheck %s
; RUN: opt -aa-pipeline=basic-aa -passes='require<aa>,require<targetir>,require<scalar-evolution>,require<opt-remark-emit>,loop(licm)' < %s -S | FileCheck %s

define void @test1(i64 %n) {
; CHECK-LABEL: @test1
; CHECK: fence
; CHECK-LABEL: loop:
entry:
  br label %loop
loop:
  %iv = phi i64 [0, %entry], [%iv.next, %loop]
  fence release
  %iv.next = add i64 %iv, 1
  %test = icmp slt i64 %iv, %n
  br i1 %test, label %loop, label %exit
exit:
  ret void
}

define void @test2(i64 %n) {
; CHECK-LABEL: @test2
; CHECK: fence
; CHECK-LABEL: loop:
entry:
  br label %loop
loop:
  %iv = phi i64 [0, %entry], [%iv.next, %loop]
  fence acquire
  %iv.next = add i64 %iv, 1
  %test = icmp slt i64 %iv, %n
  br i1 %test, label %loop, label %exit
exit:
  ret void
}

define void @test3(i64 %n) {
; CHECK-LABEL: @test3
; CHECK: fence
; CHECK-LABEL: loop:
entry:
  br label %loop
loop:
  %iv = phi i64 [0, %entry], [%iv.next, %loop]
  fence acq_rel
  %iv.next = add i64 %iv, 1
  %test = icmp slt i64 %iv, %n
  br i1 %test, label %loop, label %exit
exit:
  ret void
}

define void @test4(i64 %n) {
; CHECK-LABEL: @test4
; CHECK: fence
; CHECK-LABEL: loop:
entry:
  br label %loop
loop:
  %iv = phi i64 [0, %entry], [%iv.next, %loop]
  fence seq_cst
  %iv.next = add i64 %iv, 1
  %test = icmp slt i64 %iv, %n
  br i1 %test, label %loop, label %exit
exit:
  ret void
}

define void @testneg1(i64 %n, i64* %p) {
; CHECK-LABEL: @testneg1
; CHECK-LABEL: loop:
; CHECK: fence
entry:
  br label %loop
loop:
  %iv = phi i64 [0, %entry], [%iv.next, %loop]
  store i64 %iv, i64* %p
  fence release
  %iv.next = add i64 %iv, 1
  %test = icmp slt i64 %iv, %n
  br i1 %test, label %loop, label %exit
exit:
  ret void
}

define void @testneg2(i64* %p) {
; CHECK-LABEL: @testneg2
; CHECK-LABEL: loop:
; CHECK: fence
entry:
  br label %loop
loop:
  %iv = phi i64 [0, %entry], [%iv.next, %loop]
  fence acquire
  %n = load i64, i64* %p
  %iv.next = add i64 %iv, 1
  %test = icmp slt i64 %iv, %n
  br i1 %test, label %loop, label %exit
exit:
  ret void
}

; Note: While a false negative for LICM on it's own, O3 does get this
; case by combining the fences.
define void @testfn1(i64 %n, i64* %p) {
; CHECK-LABEL: @testfn1
; CHECK-LABEL: loop:
; CHECK: fence
entry:
  br label %loop
loop:
  %iv = phi i64 [0, %entry], [%iv.next, %loop]
  fence release
  fence release
  %iv.next = add i64 %iv, 1
  %test = icmp slt i64 %iv, %n
  br i1 %test, label %loop, label %exit
exit:
  ret void
}

