• Home
  • History
  • Annotate
  • only in /external/compiler-rt/SDKs/
History log of /external/compiler-rt/SDKs/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
2d1fdb26e458c4ddc04155c1d421bced3ba90cd0 29-May-2014 Stephen Hines <srhines@google.com> Update compiler-rt aosp/master for 3.5 (r209699) rebase.

Change-Id: I158a30186f0faea2e2400e9dfdd878db2eb40e90
arwin/usr/include/inttypes.h
arwin/usr/include/stdio.h
arwin/usr/include/string.h
arwin/usr/include/sys/fcntl.h
inux/usr/include/stdio.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
arwin/usr/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
arwin/usr/include/errno.h
arwin/usr/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
arwin/usr/include/fcntl.h
arwin/usr/include/stdio.h
arwin/usr/include/stdlib.h
arwin/usr/include/sys/fcntl.h
arwin/usr/include/sys/mman.h
inux/usr/include/fcntl.h
inux/usr/include/stdio.h
inux/usr/include/stdlib.h
inux/usr/include/sys/fcntl.h
inux/usr/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
arwin/usr/include/stdio.h
arwin/usr/include/string.h
inux/usr/include/stdio.h
inux/usr/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
arwin/usr/include/stdio.h
inux/usr/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
arwin/usr/include/stdio.h
inux/usr/include/stdio.h
edcb288a81c4e6abd6537342295750d9d1223349 21-Mar-2013 Bill Wendling <isanbard@gmail.com> Add declaration for linux.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@177601 91177308-0d34-0410-b5e6-96231b3b80d8
inux/usr/include/stdlib.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
arwin/usr/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
arwin/usr/include/stdio.h
7ad8ae259389e8652a5476681ac01185105c3d68 17-Sep-2012 Benjamin Kramer <benny.kra@googlemail.com> Update linux stdio.h to support the recent additions to GCDAProfiling.

Hopefully unbreaks compiler-rt build on linux.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@164025 91177308-0d34-0410-b5e6-96231b3b80d8
inux/usr/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
arwin/usr/include/stdio.h
d389dd3467ef9a2eabb052f3974372f5e8ac82e1 29-May-2012 Alexey Samsonov <samsonov@google.com> Fix atoi stub for linux introduced in r157573. This fixes compiler-rt build on linux.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@157600 91177308-0d34-0410-b5e6-96231b3b80d8
inux/usr/include/stdlib.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
arwin/usr/include/stdlib.h
inux/usr/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
arwin/usr/include/string.h
inux/usr/include/string.h
2a1aad729e09761ce45b9b283e2fb65da191d38c 08-Dec-2011 Daniel Dunbar <daniel@zuster.org> SDK/linux: Fix braindead pasto, caught by Matt Beaumont-Gay.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@146188 91177308-0d34-0410-b5e6-96231b3b80d8
inux/usr/include/sys/mman.h
86f9994936336675dcc1454ede5857e8851080b6 08-Dec-2011 Daniel Dunbar <daniel@zuster.org> SDKs: Sketch an initial stub SDK for Linux, I believe this suffices for building
the main compiler-rt and profile modules, at least on x86.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@146131 91177308-0d34-0410-b5e6-96231b3b80d8
inux/README.txt
inux/usr/include/endian.h
inux/usr/include/limits.h
inux/usr/include/stdio.h
inux/usr/include/stdlib.h
inux/usr/include/string.h
inux/usr/include/sys/mman.h
inux/usr/include/sys/stat.h
inux/usr/include/sys/types.h
inux/usr/include/unistd.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
arwin/README.txt
arwin/usr/include/limits.h
arwin/usr/include/stdio.h
arwin/usr/include/stdlib.h
arwin/usr/include/string.h
arwin/usr/include/sys/stat.h
arwin/usr/include/sys/types.h