; RUN: opt -S < %s -function-attrs | 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 }