2d1fdb26e458c4ddc04155c1d421bced3ba90cd0 |
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update compiler-rt aosp/master for 3.5 (r209699) rebase. Change-Id: I158a30186f0faea2e2400e9dfdd878db2eb40e90
sr/include/inttypes.h
sr/include/stdio.h
sr/include/string.h
sr/include/sys/fcntl.h
|
da8596b60b1c90a870c9610c2cef7f06a03b6cdc |
27-Jun-2013 |
Bill Wendling <isanbard@gmail.com> |
Declare 'strerror' so that we can use it with errno. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@185105 91177308-0d34-0410-b5e6-96231b3b80d8
sr/include/string.h
|
22b838bbfd9aed996f101a557621c6815615653d |
27-Jun-2013 |
Bill Wendling <isanbard@gmail.com> |
Add 'errno.h' to the Darwin SDK. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@185104 91177308-0d34-0410-b5e6-96231b3b80d8
sr/include/errno.h
sr/include/sys/errno.h
|
d06f2fc03087e7cccda19bd550bf6fb3bc2f5ae7 |
23-May-2013 |
Bill Wendling <isanbard@gmail.com> |
Performance improvement. Using fwrite and fread was very *very* slow. The resulting code was multiple times slower than GCC's implementation of gcov. Replace the fwrite/fread system with an mmap() version. If the `.gcda' file doesn't exist, we (re)allocate a buffer that we write into. That gets written to the `.gcda' file in one chunk. If the `.gcda' file already exists, we simply mmap() the file, modify the mapped data, and use msync() to write the contents out to disk. It's much easier than implementing our own buffering scheme, and we don't have to use fwrite's and fread's buffering. For those who are numbers-oriented, here are some timings: GCC Verison ----------- `.gcda' files don't exist: 23s `.gcda' files do exist: 14s LLVM Version (before this change) --------------------------------- `.gcda' files don't exist: 28s `.gcda' files do exist: 28s LLVM Version (with this change) ------------------------------- `.gcda' files don't exist: 18s `.gcda' files do exist: 4s It's a win-win-win-win-lose-win-win scenario! <rdar://problem/13466086> git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@182563 91177308-0d34-0410-b5e6-96231b3b80d8
sr/include/fcntl.h
sr/include/stdio.h
sr/include/stdlib.h
sr/include/sys/fcntl.h
sr/include/sys/mman.h
|
2a46a60510948b5005d62025fbba307a0323ed8d |
15-May-2013 |
Bill Wendling <isanbard@gmail.com> |
Try to improve performance by using a read/write buffer instead of I/O. The calls to fwrite/fread can be very expensive. GCC avoids this by using a buffer to read and write from the file, thus limiting the number of fwrite/fread calls. <rdar://problem/13466086> git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@181924 91177308-0d34-0410-b5e6-96231b3b80d8
sr/include/stdio.h
sr/include/string.h
|
346e348af5740db3660c84490d2c1bbba7c570e5 |
04-May-2013 |
Bill Wendling <isanbard@gmail.com> |
I was wrong in my testing. There isn't a speedup when using unbuffered I/O. It slows it down in fact. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@181060 91177308-0d34-0410-b5e6-96231b3b80d8
sr/include/stdio.h
|
d83a6d8bafbf2afa3ebcf9e006bf0c7414f9b2dc |
03-May-2013 |
Bill Wendling <isanbard@gmail.com> |
Use unbuffered I/O. This reduces the runtime by about half. Our implementation is now only about 5 times slower than gcc's. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@180980 91177308-0d34-0410-b5e6-96231b3b80d8
sr/include/stdio.h
|
84b46d300c7a4f1c3ea4e452791de7733ce0d143 |
20-Mar-2013 |
Bill Wendling <isanbard@gmail.com> |
Create a coverage initialization function. This function replaces the call of `atexit' from being generated in the compile units. Basically, it registers the "writeout" and "flush" functions (if present). It will generate calls to the `atexit' function for cleanups and final writeout functions, but only once. This is better than checking for `main', because a library may not have a `main' function in it. <rdar://problem/12439551> git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@177578 91177308-0d34-0410-b5e6-96231b3b80d8
sr/include/stdlib.h
|
4a4ef702597471bff5e249b8ec9d94d265007895 |
14-Nov-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Support for building the ubsan runtime when using the autoconf build system on Darwin. Patch by Jean-Daniel Dupas, tweaked by Jonathan Sauer, simplified somewhat by me. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@167889 91177308-0d34-0410-b5e6-96231b3b80d8
sr/include/stdio.h
|
843f359862fb8370eacf8aed4e749c46a92b2e38 |
14-Sep-2012 |
Bill Wendling <isanbard@gmail.com> |
Add support for reading the GCDA file and merging the arc information. With the advent of the __llvm_gcov_flush function, we need to be able to merge counts into the .gcda files in an intelligent manner. This involves reading the file if it exists, adding the counts together, and then writing the results. <rdar://problem/12185886> git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@163923 91177308-0d34-0410-b5e6-96231b3b80d8
sr/include/stdio.h
|
84baff0561fe6ca2371e3273f8ed149260e104c1 |
28-May-2012 |
Bill Wendling <isanbard@gmail.com> |
Add stub for 'atoi'. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@157573 91177308-0d34-0410-b5e6-96231b3b80d8
sr/include/stdlib.h
|
fa3eee4101f39661b4a88ac0bc7f184ca8c1ecb1 |
30-Mar-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Fix the build on 32 bit hosts. - Add memcpy and memcmp to the stub headers. - __uint128_t is not available on 32 bit platforms. It's also unused so just comment it out for now. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@153779 91177308-0d34-0410-b5e6-96231b3b80d8
sr/include/string.h
|
6758892590ff3a56d800cb862d3b37f63ff941fa |
16-Nov-2011 |
Daniel Dunbar <daniel@zuster.org> |
build/SDKs: Sketch a minimal stub SDK for Darwin. - Motivation is explained in the README, but basically it is convenient to be able to build compiler-rt free standing. Since our external dependencies are so small, we can achieve this relatively easily by just stubbing out the declarations of the external dependencies. - This is in no way, shape, or form intended to be complete, it is just the minimal stubs necessary to support the stuff we use. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@144843 91177308-0d34-0410-b5e6-96231b3b80d8
EADME.txt
sr/include/limits.h
sr/include/stdio.h
sr/include/stdlib.h
sr/include/string.h
sr/include/sys/stat.h
sr/include/sys/types.h
|