diff options
| author | Nick Lewycky <nicholas@mxc.ca> | 2009-02-13 15:31:46 +0000 |
|---|---|---|
| committer | Nick Lewycky <nicholas@mxc.ca> | 2009-02-13 15:31:46 +0000 |
| commit | a0e83a0952b8b3d59a4c00910e380a904f227b49 (patch) | |
| tree | 8ab6b80b80cadf511bc4a637be5d9bb72fd3cba3 /llvm/test/Transforms/SimplifyLibCalls/2009-02-12-StrTo.ll | |
| parent | 005c9a62b58ad7c6c6d5bf14bc0de0b41f8d5de5 (diff) | |
| download | bcm5719-llvm-a0e83a0952b8b3d59a4c00910e380a904f227b49.tar.gz bcm5719-llvm-a0e83a0952b8b3d59a4c00910e380a904f227b49.zip | |
On strtod and friends, mark 'endptr' nocapture in the function prototype, and
mark the first argument nocapture if endptr=NULL for each particular call.
llvm-svn: 64453
Diffstat (limited to 'llvm/test/Transforms/SimplifyLibCalls/2009-02-12-StrTo.ll')
| -rw-r--r-- | llvm/test/Transforms/SimplifyLibCalls/2009-02-12-StrTo.ll | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/llvm/test/Transforms/SimplifyLibCalls/2009-02-12-StrTo.ll b/llvm/test/Transforms/SimplifyLibCalls/2009-02-12-StrTo.ll new file mode 100644 index 00000000000..3d51d78ecea --- /dev/null +++ b/llvm/test/Transforms/SimplifyLibCalls/2009-02-12-StrTo.ll @@ -0,0 +1,13 @@ +; RUN: llvm-as < %s | opt -simplify-libcalls | llvm-dis > %t +; RUN: grep nocapture %t | count 2 +; RUN: grep null %t | grep nocapture | count 1 + +; Test that we do add nocapture to the declaration, and to the second call only. + +declare float @strtof(i8* %s, i8** %endptr, i32 %base) + +define void @foo(i8* %x, i8** %endptr) { + call float @strtof(i8* %x, i8** %endptr, i32 0) + call float @strtof(i8* %x, i8** null, i32 0) + ret void +} |

