; RUN: opt < %s -passes=function-attrs -S | FileCheck %s @x = global i32 0 define void @test_opt(ptr %p) { ; CHECK-LABEL: @test_opt ; CHECK: (ptr nocapture readnone %p) #0 { ret void } define void @test_optnone(ptr %p) noinline optnone { ; CHECK-LABEL: @test_optnone ; CHECK: (ptr %p) #1 { ret void } declare i8 @strlen(ptr) noinline optnone ; CHECK-LABEL: @strlen ; CHECK: (ptr) #1 ; CHECK-LABEL: attributes #0 ; CHECK: = { mustprogress nofree norecurse nosync nounwind willreturn memory(none) } ; CHECK-LABEL: attributes #1 ; CHECK: = { noinline optnone }