; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt -S < %s -passes=early-cse -earlycse-debug-hash | FileCheck %s

; Store-to-load forwarding across a @llvm.experimental.noalias.scope.decl.

define float @s2l(ptr %p) {
; CHECK-LABEL: @s2l(
; CHECK-NEXT:    store float 0.000000e+00, ptr [[P:%.*]], align 4
; CHECK-NEXT:    call void @llvm.experimental.noalias.scope.decl(metadata !0)
; CHECK-NEXT:    ret float 0.000000e+00
;
  store float 0.0, ptr %p
  call void @llvm.experimental.noalias.scope.decl(metadata !0)
  %t = load float, ptr %p
  ret float %t
}

; Redundant load elimination across a @llvm.experimental.noalias.scope.decl.

define float @rle(ptr %p) {
; CHECK-LABEL: @rle(
; CHECK-NEXT:    [[R:%.*]] = load float, ptr [[P:%.*]], align 4
; CHECK-NEXT:    call void @llvm.experimental.noalias.scope.decl(metadata !0)
; CHECK-NEXT:    [[T:%.*]] = fadd float [[R]], [[R]]
; CHECK-NEXT:    ret float [[T]]
;
  %r = load float, ptr %p
  call void @llvm.experimental.noalias.scope.decl(metadata !0)
  %s = load float, ptr %p
  %t = fadd float %r, %s
  ret float %t
}

declare void @llvm.experimental.noalias.scope.decl(metadata)

!0 = !{ !1 }
!1 = distinct !{ !1, !2 }
!2 = distinct !{ !2 }
