[PATCH] D14219: [TargetLibraryInfo] Add support for fls, flsl, flsll
Davide Italiano via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 9 15:25:46 PST 2015
This revision was automatically updated to reflect the committed changes.
Closed by commit rL252535: [TargetLibraryInfo] Add support for fls, flsl, flsll. (authored by davide).
Changed prior to commit:
http://reviews.llvm.org/D14219?vs=38856&id=39761#toc
Repository:
rL LLVM
http://reviews.llvm.org/D14219
Files:
llvm/trunk/include/llvm/Analysis/TargetLibraryInfo.def
llvm/trunk/lib/Analysis/TargetLibraryInfo.cpp
Index: llvm/trunk/lib/Analysis/TargetLibraryInfo.cpp
===================================================================
--- llvm/trunk/lib/Analysis/TargetLibraryInfo.cpp
+++ llvm/trunk/lib/Analysis/TargetLibraryInfo.cpp
@@ -350,6 +350,16 @@
TLI.setUnavailable(LibFunc::ffsll);
}
+ // The following functions are available on at least FreeBSD:
+ // http://svn.freebsd.org/base/head/lib/libc/string/fls.c
+ // http://svn.freebsd.org/base/head/lib/libc/string/flsl.c
+ // http://svn.freebsd.org/base/head/lib/libc/string/flsll.c
+ if (!T.isOSFreeBSD()) {
+ TLI.setUnavailable(LibFunc::fls);
+ TLI.setUnavailable(LibFunc::flsl);
+ TLI.setUnavailable(LibFunc::flsll);
+ }
+
// The following functions are available on at least Linux:
if (!T.isOSLinux()) {
TLI.setUnavailable(LibFunc::dunder_strdup);
Index: llvm/trunk/include/llvm/Analysis/TargetLibraryInfo.def
===================================================================
--- llvm/trunk/include/llvm/Analysis/TargetLibraryInfo.def
+++ llvm/trunk/include/llvm/Analysis/TargetLibraryInfo.def
@@ -406,6 +406,15 @@
/// long double floorl(long double x);
TLI_DEFINE_ENUM_INTERNAL(floorl)
TLI_DEFINE_STRING_INTERNAL("floorl")
+/// int fls(int i);
+TLI_DEFINE_ENUM_INTERNAL(fls)
+TLI_DEFINE_STRING_INTERNAL("fls")
+/// int flsl(long int i);
+TLI_DEFINE_ENUM_INTERNAL(flsl)
+TLI_DEFINE_STRING_INTERNAL("flsl")
+/// int flsll(long long int i);
+TLI_DEFINE_ENUM_INTERNAL(flsll)
+TLI_DEFINE_STRING_INTERNAL("flsll")
/// double fmax(double x, double y);
TLI_DEFINE_ENUM_INTERNAL(fmax)
TLI_DEFINE_STRING_INTERNAL("fmax")
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D14219.39761.patch
Type: text/x-patch
Size: 1604 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151109/818b67cb/attachment.bin>
More information about the llvm-commits
mailing list