llvm-6502/test/Transforms/FunctionAttrs/2008-10-04-LocalMemory.ll
Duncan Sands 9e89ba31f1 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'.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61525 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-31 16:14:43 +00:00

11 lines
247 B
LLVM

; RUN: llvm-as < %s | opt -functionattrs | llvm-dis | grep readnone | count 2
declare i32 @g(i32*) readnone
define i32 @f() {
%x = alloca i32 ; <i32*> [#uses=2]
store i32 0, i32* %x
%y = call i32 @g(i32* %x) ; <i32> [#uses=1]
ret i32 %y
}