Bob Wilson
627fc538a7
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.
llvm-svn: 161231
2012-08-03 04:06:22 +00:00
Nuno Lopes
537a3395e5
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.
llvm-svn: 160733
2012-07-25 16:46:31 +00:00
Nuno Lopes
6319e86c31
add a few more functions to TargetLibraryInfo:
...
fputc, memchr, memcmp, putchar, puts, strchr, strncmp
llvm-svn: 160690
2012-07-24 21:00:36 +00:00
Nuno Lopes
aa177bbdbc
TargetLibraryInfo: add strn?cat, strn?cpy, and strn?len
...
llvm-svn: 160678
2012-07-24 17:25:06 +00:00
Joe Groff
cc9c07aacc
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
llvm-svn: 154960
2012-04-17 23:05:54 +00:00
Nick Lewycky
0e211cfa88
Remove redundant getAnalysis<> calls in GlobalOpt. Add a few Itanium ABI calls
...
to TargetLibraryInfo and use one of them in GlobalOpt.
llvm-svn: 150323
2012-02-12 02:15:20 +00:00
David Blaikie
576aba04f1
Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch
...
llvm-svn: 146960
2011-12-20 02:50:00 +00:00
Owen Anderson
285891eccf
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.
...
llvm-svn: 146193
2011-12-08 22:15:21 +00:00
Chad Rosier
7610c57a02
Add a few more functions to TargetLibraryInfo. More of rdar://10500969.
...
llvm-svn: 145596
2011-12-01 17:54:37 +00:00
Chad Rosier
8c6d695c1e
Add a few functions to TargetLibraryInfo.
...
llvm-svn: 145508
2011-11-30 19:19:00 +00:00
Chad Rosier
8b15aca551
Alphabetize TargetLibraryInfo enum and fix doxygen comments. No functional
...
change intended.
llvm-svn: 145468
2011-11-30 01:51:49 +00:00
Chad Rosier
c5fa9f413a
Add support for sqrt, sqrtl, and sqrtf in TargetLibraryInfo. Disable
...
(fptrunc (sqrt (fpext x))) -> (sqrtf x) transformation if -fno-builtin is
specified.
rdar://10466410
llvm-svn: 145460
2011-11-29 23:57:10 +00:00
Eli Friedman
d02d82d355
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>.
llvm-svn: 144876
2011-11-17 01:27:36 +00:00
Chris Lattner
777808dcaf
add a copy ctor to TargetLibraryInfo.
...
llvm-svn: 131806
2011-05-21 20:09:13 +00:00
Chris Lattner
c04013dd48
enhance memcpyopt to obey -fno-builtin and friends. This addresses a
...
problem reported on cfe-dev.
llvm-svn: 130661
2011-05-01 18:27:11 +00:00
Richard Osborne
88d0d840f2
Optimize fprintf -> iprintf if there are no floating point arguments
...
and siprintf is available on the target.
llvm-svn: 126940
2011-03-03 14:20:22 +00:00
Richard Osborne
021b589253
Optimize sprintf -> siprintf if there are no floating point arguments
...
and siprintf is available on the target.
llvm-svn: 126937
2011-03-03 14:09:28 +00:00
Richard Osborne
df829ddcb7
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.
llvm-svn: 126935
2011-03-03 13:17:51 +00:00
Chris Lattner
a0dede2c21
add a way to disable all builtins, wire it up to opt's -disable-simplifylibcalls flag.
...
llvm-svn: 125978
2011-02-18 22:34:03 +00:00
Chris Lattner
3c8b2290ec
add memset and memcpy, though they are always available for now.
...
llvm-svn: 125973
2011-02-18 22:21:24 +00:00
Chris Lattner
63dfb2c797
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.
llvm-svn: 125965
2011-02-18 21:50:34 +00:00