summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/SimplifyLibCalls/2009-02-12-StrTo.ll
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2009-02-13 15:31:46 +0000
committerNick Lewycky <nicholas@mxc.ca>2009-02-13 15:31:46 +0000
commita0e83a0952b8b3d59a4c00910e380a904f227b49 (patch)
tree8ab6b80b80cadf511bc4a637be5d9bb72fd3cba3 /llvm/test/Transforms/SimplifyLibCalls/2009-02-12-StrTo.ll
parent005c9a62b58ad7c6c6d5bf14bc0de0b41f8d5de5 (diff)
downloadbcm5719-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.ll13
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
+}
OpenPOWER on IntegriCloud