diff options
Diffstat (limited to 'test/Transforms/FunctionAttrs/2008-12-31-NoCapture.ll')
-rw-r--r-- | test/Transforms/FunctionAttrs/2008-12-31-NoCapture.ll | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/test/Transforms/FunctionAttrs/2008-12-31-NoCapture.ll b/test/Transforms/FunctionAttrs/2008-12-31-NoCapture.ll index 61c607dc00..758f0dd3ad 100644 --- a/test/Transforms/FunctionAttrs/2008-12-31-NoCapture.ll +++ b/test/Transforms/FunctionAttrs/2008-12-31-NoCapture.ll @@ -1,5 +1,5 @@ ; RUN: llvm-as < %s | opt -functionattrs | llvm-dis | not grep {nocapture *%%q} -; RUN: llvm-as < %s | opt -functionattrs | llvm-dis | grep {nocapture *%%p} | count 3 +; RUN: llvm-as < %s | opt -functionattrs | llvm-dis | grep {nocapture *%%p} | count 8 @g = global i32* null ; <i32**> [#uses=1] define i32* @c1(i32* %q) { @@ -62,3 +62,25 @@ define void @nc3(void ()* %p) { call void %p() ret void } + +declare void @external(i8*) readonly +define void @nc4(i8* %p) { + call void @external(i8* %p) + ret void +} + +define void @nc5(void (i8*)* %f, i8* %p) { + call void %f(i8* %p) readonly + call void %f(i8* nocapture %p) + ret void +} + +define void @nc6(i8* %p) { + call void @nc7(i8* %p) + ret void +} + +define void @nc7(i8* %p) { + call void @nc6(i8* %p) + ret void +} |