1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-23 04:52:54 +02:00
llvm-mirror/test/Transforms/FunctionAttrs/2008-09-03-ReadNone.ll
Duncan Sands 36db5853cb Rename AddReadAttrs to FunctionAttrs, and teach it how
to work out (in a very simplistic way) which function
arguments (pointer arguments only) are only dereferenced
and so do not escape.  Mark such arguments 'nocapture'.

llvm-svn: 61525
2008-12-31 16:14:43 +00:00

19 lines
325 B
LLVM

; RUN: llvm-as < %s | opt -functionattrs | llvm-dis | grep readnone | count 4
@x = global i32 0
declare i32 @e() readnone
define i32 @f() {
%tmp = call i32 @e( ) ; <i32> [#uses=1]
ret i32 %tmp
}
define i32 @g() readonly {
ret i32 0
}
define i32 @h() readnone {
%tmp = load i32* @x ; <i32> [#uses=1]
ret i32 %tmp
}