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