; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --check-attributes
; RUN: opt -S < %s -passes=function-attrs | FileCheck %s

declare void @llvm.sideeffect()

; Don't add readnone or similar attributes when an @llvm.sideeffect() intrinsic
; is present.

define void @test() {
; CHECK: Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(inaccessiblemem: readwrite)
; CHECK-LABEL: @test(
; CHECK-NEXT:    call void @llvm.sideeffect()
; CHECK-NEXT:    ret void
;
  call void @llvm.sideeffect()
  ret void
}

define void @loop() {
; CHECK: Function Attrs: nofree norecurse noreturn nosync nounwind memory(inaccessiblemem: readwrite)
; CHECK-LABEL: @loop(
; CHECK-NEXT:    br label [[LOOP:%.*]]
; CHECK:       loop:
; CHECK-NEXT:    call void @llvm.sideeffect()
; CHECK-NEXT:    br label [[LOOP]]
;
  br label %loop

loop:
  call void @llvm.sideeffect()
  br label %loop
}
