History log of /external/llvm/lib/Target/TargetLibraryInfo.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/Target/TargetLibraryInfo.cpp
208130f11331eccab26c0a6f3146cd1891e53e33 03-Nov-2013 Bob Wilson <bob.wilson@apple.com> Convert calls to __sinpi and __cospi into __sincospi_stret

This adds an SimplifyLibCalls case which converts the special __sinpi and
__cospi (float & double variants) into a __sincospi_stret where appropriate to
remove duplicated work.

Patch by Tim Northover

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193943 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp
441c557708b5dbe91f1799baf790ad418c23ea70 29-Aug-2013 Cameron Esfahani <dirty@apple.com> Clean up some usage of Triple. The base class has methods for determining if the target is iOS and Linux.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189604 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp
72c8331ec1437f8c33fff1dac1ea0ebb11009411 22-Jul-2013 Richard Smith <richard-llvm@metafoo.co.uk> Treat nothrow forms of ::operator delete and ::operator delete[] as
deallocation functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186798 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp
f0f85eab0469ac93f9bb6c7d19aca2c35868d83a 03-Jul-2013 Michael Gottesman <mgottesman@apple.com> Added posix function gettimeofday to LibFunc::Func for all platforms but Windows.

*NOTE* In a recent version of posix, they added the restrict keyword to the
arguments for this function. From some spelunking it seems that on some
platforms, the call has restrict on its arguments and others it does not. Thus I
left off the restrict keyword from the function prototype in the comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185501 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp
b704d23062aa78b00999b75dcdcb628d4d84ee3f 27-May-2013 Preston Gurd <preston.gurd@intel.com> Convert sqrt functions into sqrt instructions when -ffast-math is in effect.

When -ffast-math is in effect (on Linux, at least), clang defines
__FINITE_MATH_ONLY__ > 0 when including <math.h>. This causes the
preprocessor to include <bits/math-finite.h>, which renames the sqrt functions.
For instance, "sqrt" is renamed as "__sqrt_finite".

This patch adds the 3 new names in such a way that they will be treated
as equivalent to their respective original names.





git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182739 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp
dec29b61a49da09e8ed494dcc1466f160614f80d 13-Mar-2013 Benjamin Kramer <benny.kra@googlemail.com> Add one more overload to make VS2008's debug mody happy.

sigh.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176946 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp
576f62c1ead0c099aacf2bc08552a1348d57c23f 09-Mar-2013 Benjamin Kramer <benny.kra@googlemail.com> TLI: Microoptimize calls to strlen+memcmp to strncmp.

The strlen+memcmp was hidden in a call to StringRef::operator==. We check if
there are any null bytes in the string upfront so we can simplify the comparison
Small speedup when compiling code with many function calls.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176766 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp
cf70590c38ef580758c8a255519959fc7160fdb2 05-Mar-2013 Meador Inge <meadori@codesourcery.com> Add more functions to the TLI.

This patch adds many more functions to the target library information.
All of the functions being added were discovered while doing the migration
of the simplify-libcalls attribute annotation functionality to the
functionattrs pass. As a part of that work the attribute annotation logic
will query TLI to determine if a function should be annotated or not.

Signed-off-by: Meador Inge <meadori@codesourcery.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176514 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp
6098c6b56be5a8e3c7ac5273110589f251b03573 22-Nov-2012 Meador Inge <meadori@codesourcery.com> Add more functions to the target library information.

I discovered a few more missing functions while migrating optimizations
from the simplify-libcalls pass to the instcombine (I already added some
in r167659).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168501 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp
939f5002027e3ccb710ac1c3050dc25471251565 10-Nov-2012 Meador Inge <meadori@codesourcery.com> Add more functions to the target library information.

In the process of migrating optimizations from the simplify-libcalls pass
to the instcombine pass I noticed that a few functions are missing from
the target library information. These functions need to be available for
querying in the instcombine library call simplifiers. More functions will
probably be added in the future as more simplifiers are migrated to
instcombine.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp
8e0d1c03ca7fd86e6879b4e37d0d7f0e982feef6 29-Aug-2012 Benjamin Kramer <benny.kra@googlemail.com> Make MemoryBuiltins aware of TargetLibraryInfo.

This disables malloc-specific optimization when -fno-builtin (or -ffreestanding)
is specified. This has been a problem for a long time but became more severe
with the recent memory builtin improvements.

Since the memory builtin functions are used everywhere, this required passing
TLI in many places. This means that functions that now have an optional TLI
argument, like RecursivelyDeleteTriviallyDeadFunctions, won't remove dead
mallocs anymore if the TLI argument is missing. I've updated most passes to do
the right thing.

Fixes PR13694 and probably others.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162841 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp
6871d1eceba0455707de29708c36ae3c2778c160 22-Aug-2012 Chad Rosier <mcrosier@apple.com> Add a few functions to TargetLibraryInfo as part of PR13574.
Patch by Weiming Zhao <weimingz@codeaurora.org>.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162329 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp
d1e672e0234b99dbff78baed0e47d033cf963abe 03-Aug-2012 Bob Wilson <bob.wilson@apple.com> Add new getLibFunc method to TargetLibraryInfo.

This just provides a way to look up a LibFunc::Func enum value for a
function name. Alphabetize the enums and function names so we can use a
binary search.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161231 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp
51004dff923259c90591621e7151408ad94e0eb8 25-Jul-2012 Nuno Lopes <nunoplopes@sapo.pt> make all Emit*() functions consult the TargetLibraryInfo information before creating a call to a library function.
Update all clients to pass the TLI information around.
Previous draft reviewed by Eli.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160733 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp
8d32463a9fa2aba9de552350a5019099edf0b90d 24-Jul-2012 Nuno Lopes <nunoplopes@sapo.pt> add a few more functions to TargetLibraryInfo:
fputc, memchr, memcmp, putchar, puts, strchr, strncmp

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160690 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp
0841e63ede092283d824843a068df3f7b0b90dd8 24-Jul-2012 Nuno Lopes <nunoplopes@sapo.pt> TargetLibraryInfo: add strn?cat, strn?cpy, and strn?len

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp
d5bda5ec663f43710fe462f44b77ddbcf8fe9d9e 18-Apr-2012 Joe Groff <arcata@gmail.com> fix pr12559: mark unavailable win32 math libcalls
also fix SimplifyLibCalls to use TLI rather than compile-time conditionals to enable optimizations on floor, ceil, round, rint, and nearbyint

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154960 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp
6a7df9aae620801d97da72d718e9aff76eebac9b 12-Feb-2012 Nick Lewycky <nicholas@mxc.ca> Remove redundant getAnalysis<> calls in GlobalOpt. Add a few Itanium ABI calls
to TargetLibraryInfo and use one of them in GlobalOpt.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp
2d24e2a396a1d211baaeedf32148a3b657240170 20-Dec-2011 David Blaikie <dblaikie@gmail.com> Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146960 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp
243eb9ecbbc6775e346e94025bd255bbceac9fca 08-Dec-2011 Owen Anderson <resistor@mac.com> Enhance both TargetLibraryInfo and SelectionDAGBuilder so that the latter can use the former to prevent the formation of libm SDNode's when -fno-builtin is passed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146193 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp
fbd828d8e1133763c8acee540bcd221bc2aab355 01-Dec-2011 Chad Rosier <mcrosier@apple.com> Add missing functions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145608 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp
32b6c59ad068d2bb2466dd33bc17d8c865760215 01-Dec-2011 Chad Rosier <mcrosier@apple.com> Add a few more functions to TargetLibraryInfo. More of rdar://10500969.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145596 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp
8ff4115ef0bcad0a46750bb2bd4376a61b346362 30-Nov-2011 Chad Rosier <mcrosier@apple.com> Add a few functions to TargetLibraryInfo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145508 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp
683e47b1dd8672b0b026a45022cf91f4faf7df9b 30-Nov-2011 Chad Rosier <mcrosier@apple.com> Alphabetize TargetLibraryInfo enum and fix doxygen comments. No functional
change intended.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145468 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp
3d925d24e8c54cde05228258c25cc21687cad922 30-Nov-2011 Chad Rosier <mcrosier@apple.com> Add support for sqrt, sqrtl, and sqrtf in TargetLibraryInfo. Disable
(fptrunc (sqrt (fpext x))) -> (sqrtf x) transformation if -fno-builtin is
specified.
rdar://10466410

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145460 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp
9d434dbff3eb0501efc3457acec2401afdffef2f 17-Nov-2011 Eli Friedman <eli.friedman@gmail.com> Add support for custom names for library functions in TargetLibraryInfo. Add a custom name for fwrite and fputs on x86-32 OSX. Make SimplifyLibCalls honor the custom
names for fwrite and fputs.

Fixes <rdar://problem/9815881>.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144876 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp
9fe88973be6bf0f47b36f40ada87176b9d7edd4b 09-Jun-2011 Duncan Sands <baldrick@free.fr> Enable printf() to iprintf() optimization for the TCE target.
Patch by Pekka Jaaskelainen.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132774 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp
40f5fbcc5c95bb96c43ce2d06d57ae9b7f852539 21-May-2011 Chris Lattner <sabre@nondot.org> add a copy ctor to TargetLibraryInfo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131806 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp
558692fd0a31d4d3ae4fd09a3a02f80da2e44e5c 20-Apr-2011 Daniel Dunbar <daniel@zuster.org> ADT/Triple: Renambe isOSX... methods to isMacOSX for consistency with the OS
triple component.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129838 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp
13fb3b5706bf3778c6b76a39a45a9dca5b215940 19-Apr-2011 Daniel Dunbar <daniel@zuster.org> Target: Eliminate a use of getDarwinMajorNumber().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129803 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp
022708f221e2a9ea1a42c07c7cd7817a8de881dc 03-Mar-2011 Richard Osborne <richard@xmos.com> Optimize fprintf -> iprintf if there are no floating point arguments
and siprintf is available on the target.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126940 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp
419454ad3720b8cf4613d9e790669c8beaccd1a4 03-Mar-2011 Richard Osborne <richard@xmos.com> Optimize sprintf -> siprintf if there are no floating point arguments
and siprintf is available on the target.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126937 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp
3649824bec09768cbdee7aa7cfbbcdd865373626 03-Mar-2011 Richard Osborne <richard@xmos.com> Optimize printf -> iprintf if there are no floating point arguments
and iprintf is available on the target. Currently iprintf is only
marked as being available on the XCore.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126935 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp
188a7e00e784f78d6b5b250a64ac5c374f0fd3f0 18-Feb-2011 Chris Lattner <sabre@nondot.org> add a way to disable all builtins, wire it up to opt's -disable-simplifylibcalls flag.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125978 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp
ce99120084f549a523213064648662a704e8b789 18-Feb-2011 Chris Lattner <sabre@nondot.org> introduce a new TargetLibraryInfo pass, which transformations can use to
query about available library functions. For now this just has
memset_pattern16, which exists on darwin, but it can be extended for a
bunch of other things in the future.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125965 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/TargetLibraryInfo.cpp