diff options
author | Matthias Braun <matze@braunis.de> | 2017-05-05 20:25:50 +0000 |
---|---|---|
committer | Matthias Braun <matze@braunis.de> | 2017-05-05 20:25:50 +0000 |
commit | 60b40b8fec56d4d0131f01985e9a10b31d772841 (patch) | |
tree | 40c4b4e3838ccbdd4aca37ff4ef986bfd28164fa /llvm/lib/Analysis/TargetLibraryInfo.cpp | |
parent | 6ccb076aeb021af4782093a7e9b6bcba968d3452 (diff) | |
download | bcm5719-llvm-60b40b8fec56d4d0131f01985e9a10b31d772841.tar.gz bcm5719-llvm-60b40b8fec56d4d0131f01985e9a10b31d772841.zip |
TargetLibraryInfo: Introduce wcslen
wcslen is part of the C99 and C++98 standards.
- This introduces the function to TargetLibraryInfo.
- Also set attributes for wcslen in llvm::inferLibFuncAttributes().
Differential Revision: https://reviews.llvm.org/D32837
llvm-svn: 302278
Diffstat (limited to 'llvm/lib/Analysis/TargetLibraryInfo.cpp')
-rw-r--r-- | llvm/lib/Analysis/TargetLibraryInfo.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Analysis/TargetLibraryInfo.cpp b/llvm/lib/Analysis/TargetLibraryInfo.cpp index be734fa9142..848e1b4717b 100644 --- a/llvm/lib/Analysis/TargetLibraryInfo.cpp +++ b/llvm/lib/Analysis/TargetLibraryInfo.cpp @@ -1176,6 +1176,10 @@ bool TargetLibraryInfoImpl::isValidProtoForLibFunc(const FunctionType &FTy, FTy.getParamType(0)->isPointerTy() && FTy.getParamType(1) == SizeTTy && FTy.getParamType(2) == SizeTTy); + case LibFunc_wcslen: + return (NumParams == 1 && FTy.getParamType(0)->isPointerTy() && + FTy.getReturnType()->isIntegerTy()); + case LibFunc::NumLibFuncs: break; } |