diff options
author | Nick Lewycky <nicholas@mxc.ca> | 2009-02-13 17:08:33 +0000 |
---|---|---|
committer | Nick Lewycky <nicholas@mxc.ca> | 2009-02-13 17:08:33 +0000 |
commit | 02b6a6a75f29f59a4ea267608c6d3f6b1ebbf0d5 (patch) | |
tree | bc02cda5264f6cd405a0a375c5872a2c55f849cb /lib | |
parent | 4c49841f34baa3d0114ab8391403bee8b1a136e8 (diff) | |
download | external_llvm-02b6a6a75f29f59a4ea267608c6d3f6b1ebbf0d5.tar.gz external_llvm-02b6a6a75f29f59a4ea267608c6d3f6b1ebbf0d5.tar.bz2 external_llvm-02b6a6a75f29f59a4ea267608c6d3f6b1ebbf0d5.zip |
Mark strto* as readonly when the endptr is null.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64460 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Transforms/Scalar/SimplifyLibCalls.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/Transforms/Scalar/SimplifyLibCalls.cpp b/lib/Transforms/Scalar/SimplifyLibCalls.cpp index fed239eae3..c199f301a9 100644 --- a/lib/Transforms/Scalar/SimplifyLibCalls.cpp +++ b/lib/Transforms/Scalar/SimplifyLibCalls.cpp @@ -733,8 +733,10 @@ struct VISIBILITY_HIDDEN StrToOpt : public LibCallOptimization { return 0; Value *EndPtr = CI->getOperand(2); - if (isa<ConstantPointerNull>(EndPtr)) + if (isa<ConstantPointerNull>(EndPtr)) { + CI->setOnlyReadsMemory(); CI->addAttribute(1, Attribute::NoCapture); + } return 0; } |