blob: 36a765873487de7ea200a2e2f0125939b0817181 [file] [log] [blame]
Bill Wendling84ba9762013-02-11 08:34:57 +00001; RUN: opt < %s -basicaa -functionattrs -S | FileCheck %s
Duncan Sands5a896a92008-09-19 09:20:05 +00002@x = global i32 0
3
Bill Wendling90bc19c2013-02-20 07:21:42 +00004; CHECK: declare i32 @e() #0
Duncan Sands5a896a92008-09-19 09:20:05 +00005declare i32 @e() readnone
Duncan Sandsaf25ee72008-09-19 08:17:05 +00006
Bill Wendling90bc19c2013-02-20 07:21:42 +00007; CHECK: define i32 @f() #0
Duncan Sandsaf25ee72008-09-19 08:17:05 +00008define i32 @f() {
Duncan Sandsaf25ee72008-09-19 08:17:05 +00009 %tmp = call i32 @e( ) ; <i32> [#uses=1]
10 ret i32 %tmp
11}
12
Bill Wendling90bc19c2013-02-20 07:21:42 +000013; CHECK: define i32 @g() #0
Duncan Sands5a896a92008-09-19 09:20:05 +000014define i32 @g() readonly {
15 ret i32 0
16}
17
Bill Wendling90bc19c2013-02-20 07:21:42 +000018; CHECK: define i32 @h() #0
Duncan Sands5a896a92008-09-19 09:20:05 +000019define i32 @h() readnone {
20 %tmp = load i32* @x ; <i32> [#uses=1]
21 ret i32 %tmp
22}
Bill Wendling90bc19c2013-02-20 07:21:42 +000023
24; CHECK: attributes #0 = { readnone }