; RUN: opt -S < %s -functionattrs | FileCheck %s
; RUN: opt -S < %s -passes=function-attrs | FileCheck %s

; CHECK: Function Attrs
; CHECK-SAME: inaccessiblememonly
; CHECK-NEXT: declare void @llvm.sideeffect()
declare void @llvm.sideeffect()

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

; CHECK: Function Attrs
; CHECK-NOT: readnone
; CHECK: define void @test()
define void @test() {
    call void @llvm.sideeffect()
    ret void
}

; CHECK: Function Attrs
; CHECK-NOT: readnone
; CHECK: define void @loop()
define void @loop() {
    br label %loop

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