| ; RUN: opt -S -functionattrs < %s | FileCheck %s | |
| ; RUN: opt -S -passes=function-attrs < %s | FileCheck %s | |
| @i = global i32 0 | |
| define void @foo() { | |
| ; CHECK-LABEL: define void @foo() #0 { | |
| store i32 1, i32* @i | |
| call void @bar() | |
| ret void | |
| } | |
| define void @bar() { | |
| ; CHECK-LABEL: define void @bar() #0 { | |
| %i = load i32, i32* @i | |
| call void @foo() | |
| ret void | |
| } | |
| ; CHECK: attributes #0 = { nofree nounwind } |