| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
I discovered a few more missing functions while migrating optimizations
from the simplify-libcalls pass to the instcombine (I already added some
in r167659).
llvm-svn: 168501
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 167659
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 162841
|
|
|
|
|
|
| |
Patch by Weiming Zhao <weimingz@codeaurora.org>.
llvm-svn: 162329
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
creating a call to a library function.
Update all clients to pass the TLI information around.
Previous draft reviewed by Eli.
llvm-svn: 160733
|
|
|
|
|
|
| |
fputc, memchr, memcmp, putchar, puts, strchr, strncmp
llvm-svn: 160690
|
|
|
|
| |
llvm-svn: 160678
|
|
|
|
|
|
| |
also fix SimplifyLibCalls to use TLI rather than compile-time conditionals to enable optimizations on floor, ceil, round, rint, and nearbyint
llvm-svn: 154960
|
|
|
|
|
|
| |
to TargetLibraryInfo and use one of them in GlobalOpt.
llvm-svn: 150323
|
|
|
|
|
|
| |
http://llvm.org/docs/CodingStandards.html#ll_virtual_anch
llvm-svn: 146960
|
|
|
|
|
|
| |
can use the former to prevent the formation of libm SDNode's when -fno-builtin is passed.
llvm-svn: 146193
|
|
|
|
| |
llvm-svn: 145608
|
|
|
|
| |
llvm-svn: 145596
|
|
|
|
| |
llvm-svn: 145508
|
|
|
|
|
|
| |
change intended.
llvm-svn: 145468
|
|
|
|
|
|
|
|
| |
(fptrunc (sqrt (fpext x))) -> (sqrtf x) transformation if -fno-builtin is
specified.
rdar://10466410
llvm-svn: 145460
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Patch by Pekka Jaaskelainen.
llvm-svn: 132774
|
|
|
|
| |
llvm-svn: 131806
|
|
|
|
|
|
| |
triple component.
llvm-svn: 129838
|
|
|
|
| |
llvm-svn: 129803
|
|
|
|
|
|
| |
and siprintf is available on the target.
llvm-svn: 126940
|
|
|
|
|
|
| |
and siprintf is available on the target.
llvm-svn: 126937
|
|
|
|
|
|
|
| |
and iprintf is available on the target. Currently iprintf is only
marked as being available on the XCore.
llvm-svn: 126935
|
|
|
|
|
|
| |
-disable-simplifylibcalls flag.
llvm-svn: 125978
|
|
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
|