summaryrefslogtreecommitdiffstats
path: root/compiler-rt/SDKs/linux
Commit message (Collapse)AuthorAgeFilesLines
* build: remove the stub linux SDKSaleem Abdulrasool2015-02-2812-328/+0
| | | | | | | | The SDK is insufficient to really build much. The builtins can be built standalone now which is what the stub SDK was meant to permit. Remove the unnecessary files. llvm-svn: 230869
* Reapply "PGO: Statically generate data structures"Duncan P. N. Exon Smith2014-03-171-0/+1
| | | | | | | Reapply r204079 and r204083, this time with stubs for fputc in compiler-rt. llvm-svn: 204091
* Performance improvement.Bill Wendling2013-05-235-4/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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> llvm-svn: 182563
* Try to improve performance by using a read/write buffer instead of I/O.Bill Wendling2013-05-152-0/+2
| | | | | | | | | | 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> llvm-svn: 181924
* I was wrong in my testing.Bill Wendling2013-05-031-1/+0
| | | | | | There isn't a speedup when using unbuffered I/O. It slows it down in fact. llvm-svn: 181060
* Use unbuffered I/O. This reduces the runtime by about half. Our ↵Bill Wendling2013-05-031-0/+1
| | | | | | implementation is now only about 5 times slower than gcc's. llvm-svn: 180980
* Add declaration for linux.Bill Wendling2013-03-201-0/+1
| | | | llvm-svn: 177601
* Update linux stdio.h to support the recent additions to GCDAProfiling.Benjamin Kramer2012-09-171-0/+7
| | | | | | Hopefully unbreaks compiler-rt build on linux. llvm-svn: 164025
* Fix atoi stub for linux introduced in r157573. This fixes compiler-rt build ↵Alexey Samsonov2012-05-291-1/+1
| | | | | | on linux. llvm-svn: 157600
* Add stub for 'atoi'.Bill Wendling2012-05-281-0/+1
| | | | llvm-svn: 157573
* Fix the build on 32 bit hosts.Benjamin Kramer2012-03-301-0/+2
| | | | | | | | - 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. llvm-svn: 153779
* SDK/linux: Fix braindead pasto, caught by Matt Beaumont-Gay.Daniel Dunbar2011-12-081-1/+1
| | | | llvm-svn: 146188
* SDKs: Sketch an initial stub SDK for Linux, I believe this suffices for buildingDaniel Dunbar2011-12-0810-0/+248
the main compiler-rt and profile modules, at least on x86. llvm-svn: 146131
OpenPOWER on IntegriCloud