summaryrefslogtreecommitdiff
path: root/lib/builtins
Commit message (Collapse)AuthorAgeFilesLines
* Avoid duplicate function aliases on MinGW after SVN r359835Martin Storsjo2019-05-032-4/+6
| | | | | | | On MinGW, the same alias mechanism as for ELF, using __attribute__((__alias__())), is used. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@359865 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix check-builtins on Windows after alias changesReid Kleckner2019-05-022-0/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@359835 91177308-0d34-0410-b5e6-96231b3b80d8
* [builtins] Use __APPLE__ instead of __MACH__ in checkPetr Hosek2019-04-291-1/+1
| | | | | | | The latter doesn't seem to be working for all targets. This addresses the issue introduced in r359413. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@359423 91177308-0d34-0410-b5e6-96231b3b80d8
* [builtins] Fix the missing assembly on DarwinPetr Hosek2019-04-291-1/+1
| | | | | | This was introduced in r359413. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@359421 91177308-0d34-0410-b5e6-96231b3b80d8
* [builtins] Fix the typo in the preprocessor checkPetr Hosek2019-04-291-1/+1
| | | | | | This was introduced in r359413. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@359419 91177308-0d34-0410-b5e6-96231b3b80d8
* [builtins] Use aliases for function redirectsPetr Hosek2019-04-2941-95/+85
| | | | | | | | | | | | | Symbol aliases are supported by all platforms that compiler-rt builtins target, and we can use these instead of function redirects to avoid the extra indirection. This is part of the cleanup proposed in "[RFC] compiler-rt builtins cleanup and refactoring". Differential Revision: https://reviews.llvm.org/D60931 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@359413 91177308-0d34-0410-b5e6-96231b3b80d8
* [builtins] Use single line C++/C99 comment stylePetr Hosek2019-04-28240-3869/+3489
| | | | | | | | | | | Use the uniform single line C++/99 style for code comments. This is part of the cleanup proposed in "[RFC] compiler-rt builtins cleanup and refactoring". Differential Revision: https://reviews.llvm.org/D60352 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@359411 91177308-0d34-0410-b5e6-96231b3b80d8
* [builtins] Reformat builtins with clang-formatPetr Hosek2019-04-28193-5873/+5341
| | | | | | | | | | | Update formatting to use the LLVM style. This is part of the cleanup proposed in "[RFC] compiler-rt builtins cleanup and refactoring". Differential Revision: https://reviews.llvm.org/D60351 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@359410 91177308-0d34-0410-b5e6-96231b3b80d8
* [builtins] Build x86_64 with GENERIC_TF_SOURCESYi Kong2019-04-181-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@358706 91177308-0d34-0410-b5e6-96231b3b80d8
* [builtins] Add __cmpsf2 for ARM version of comparesf2Yi Kong2019-04-171-0/+5
| | | | | | | | | The generic version of comparesf2 defines __cmpsf2 alias for libgcc compatibility, but the ARM overlay is missing the alias. Differential Revision: https://reviews.llvm.org/D60805 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@358542 91177308-0d34-0410-b5e6-96231b3b80d8
* [gn] Support for building compiler-rt builtinsPetr Hosek2019-04-051-81/+111
| | | | | | | | | | | | | | | | This is support for building compiler-rt builtins, The library build should be complete for a subset of supported platforms, but not all CMake options have been replicated in GN. We always use the just built compiler to build all the runtimes, which is equivalent to the CMake runtimes build. This simplifies the build configuration because we don't need to support arbitrary host compiler and can always assume the latest Clang. With GN's toolchain support, this is significantly more efficient than the CMake runtimes build. Differential Revision: https://reviews.llvm.org/D60331 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@357821 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unneeded ymath.h include from int_math.hReid Kleckner2019-04-041-1/+0
| | | | | | | | | | | | This avoids a conflict between stdbool.h, which defines bool to _Bool in xkeycheck.h. From what I can tell, ymath.h is an internal header, and the intention is that users should include math.h directly instead. It doesn't appear to provide declarations of anything required for our builtins. This include was added back in r249513 from 2015, and it's possible that ymath.h provided something this code needed at the time, but today it does not. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@357728 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert "[builtins] Rounding mode support for addxf3/subxf3"Yi Kong2019-03-2712-198/+15
| | | | | | | | This reverts commit 2cabea054e40ae2837da959d0ca89ae25cf1b1f1. Test failure on buildbots. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@357048 91177308-0d34-0410-b5e6-96231b3b80d8
* [builtins] Rounding mode support for addxf3/subxf3Yi Kong2019-03-2612-15/+198
| | | | | | | | | | | | | | | | | Implement rounding mode support for addxf3/subxf3. On architectures that implemented the support, this will access the corresponding floating point environment register to apply the correct rounding. For other architectures, it will keep the current behaviour and use IEEE-754 default rounding mode (to nearest, ties to even). ARM32/AArch64 support implemented in this change. i386 and AMD64 will be added in a follow up change. Differential Revision: https://reviews.llvm.org/D57143 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@357035 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typos in compiler-rt/lib/builtins/atomic.cHubert Tong2019-03-231-1/+10
| | | | | | | | | | | | | | | | | | | | Summary: This patch fixes typos in file compiler-rt/lib/builtins/atomic.c. Reviewers: jasonliu, hubert.reinterpretcast, jfb Reviewed By: jfb Subscribers: t.p.northover, theraven, dberris, jfb, jdoerfert, #sanitizers, llvm-commits Tags: #llvm, #sanitizers Differential Revision: https://reviews.llvm.org/D59228 Patch by Xing Xue. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@356844 91177308-0d34-0410-b5e6-96231b3b80d8
* Make __cpu_model a hidden symbol, to match libgcc.Sterling Augustine2019-03-201-0/+10
| | | | | | | | | | | | | | | Also hide __cpu_inicator_init and __cpu_features2 for similar reasons. Summary: Make __cpu_model a hidden symbol, to match libgcc. Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D59561 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@356581 91177308-0d34-0410-b5e6-96231b3b80d8
* [builtins] Divide shouldn't underflow if rounded result would be normal.Eli Friedman2019-03-193-0/+36
| | | | | | | | | | | | | We were treating certain edge cases that are actually normal as denormal results, and flushing them to zero; we shouldn't do that. Not sure this is the cleanest way to implement this edge case, but I wanted to avoid adding any code on the common path. Differential Revision: https://reviews.llvm.org/D59070 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@356529 91177308-0d34-0410-b5e6-96231b3b80d8
* [X86] Add 'znver2' and 'cascadelake' support to __cpu_indicator_init.Craig Topper2019-02-261-6/+20
| | | | | | | | For 'cascadelake' this is adding a 'avx512vnni' feature check to the 0x55 skylake-avx512 model check. These CPUs use the same model number and only differ in the stepping number. But the feature flag is simpler than collecting all the stepping numbers. For 'znver2' this is just syncing with LLVM's Host.cpp. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@354927 91177308-0d34-0410-b5e6-96231b3b80d8
* [builtins] Do not set hidden attribute on AndroidYi Kong2019-01-231-2/+6
| | | | | | | | | | | | | Bionic libc relies on an old libgcc behaviour which does not set hidden visibility attribute. Keep exporting these symbols on Android for compatibility. Differential Revision: https://reviews.llvm.org/D56977 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@351915 91177308-0d34-0410-b5e6-96231b3b80d8
* Update more file headers across all of the LLVM projects in the monorepoChandler Carruth2019-01-19331-1282/+993
| | | | | | | | | | | | | | | | | | to reflect the new license. These used slightly different spellings that defeated my regular expressions. We understand that people may be surprised that we're moving the header entirely to discuss the new license. We checked this carefully with the Foundation's lawyer and we believe this is the correct approach. Essentially, all code in the project is now made available by the LLVM project under our new license, so you will see that the license headers include that license only. Some of our contributors have contributed code under our old license, and accordingly, we have retained a copy of our old license notice in the top-level files in each project and repository. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@351648 91177308-0d34-0410-b5e6-96231b3b80d8
* Update the file headers across all of the LLVM projects in the monorepoChandler Carruth2019-01-1914-30/+42
| | | | | | | | | | | | | | | | | to reflect the new license. We understand that people may be surprised that we're moving the header entirely to discuss the new license. We checked this carefully with the Foundation's lawyer and we believe this is the correct approach. Essentially, all code in the project is now made available by the LLVM project under our new license, so you will see that the license headers include that license only. Some of our contributors have contributed code under our old license, and accordingly, we have retained a copy of our old license notice in the top-level files in each project and repository. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@351636 91177308-0d34-0410-b5e6-96231b3b80d8
* [compiler-rt][builtins][PowerPC] Implemented __floattitf builtin on PowerPCAmy Kwan2019-01-102-0/+49
| | | | | | | | | | | | | This patch implements the long double __floattitf (int128_t) method for PowerPC -- specifically to convert a 128 bit integer into a long double (IBM double-double). To invoke this method, one can do so by linking against compiler-rt, via the --rtlib=compiler-rt command line option supplied to clang. Differential Revision: https://reviews.llvm.org/D54313/ git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@350818 91177308-0d34-0410-b5e6-96231b3b80d8
* [compiler-rt][builtins][PowerPC] Implemented __fixunstfti builtin on PowerPCAmy Kwan2019-01-102-0/+107
| | | | | | | | | | | | | | | | | | This patch implements the __uint128_t __fixunstfti (long double) method for PowerPC -- specifically to convert a long double (IBM double-double) to an unsigned 128 bit integer. The general approach of this algorithm is to convert the high and low doubles of the long double and add them together if the doubles fit within 64 bits. However, additional adjustments and scaling is performed when the high or low double does not fit within a 64 bit integer. To invoke this method, one can do so by linking against compiler-rt, via the --rtlib=compiler-rt command line option supplied to clang. Differential Revision: https://reviews.llvm.org/D54911 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@350815 91177308-0d34-0410-b5e6-96231b3b80d8
* [builtins] Remove trailing whitespaces, NFCYi Kong2018-12-102-43/+43
| | | | | | | | | Remove trailing whitespaces so that it is easier to diff the code between div{s,d,t}f3.c git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@348807 91177308-0d34-0410-b5e6-96231b3b80d8
* [X86][compiler-rt] Add missing semicolonBenjamin Kramer2018-11-241-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@347519 91177308-0d34-0410-b5e6-96231b3b80d8
* [X86] Make conversion of feature bits into a mask explicitly unsigned by ↵Craig Topper2018-11-241-6/+6
| | | | | | using 1U instead of 1. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@347517 91177308-0d34-0410-b5e6-96231b3b80d8
* [X86][compiler-rt] Attempt to fix a warning about a shift amount being ↵Craig Topper2018-11-241-6/+6
| | | | | | negative in a macro expansion. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@347516 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert "Cast the 2nd argument of _Unwind_SetIP() to _Unwind_Ptr"Kamil Rytarowski2018-11-161-1/+1
| | | | | | | | | _Unwind_Ptr is unknown on some targets. Detected on green-dragon-21 (MacPro Late 2013 | OS X 10.14(18A391) | Xcode 10.1(10B61)). git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@347106 91177308-0d34-0410-b5e6-96231b3b80d8
* Cast the 2nd argument of _Unwind_SetIP() to _Unwind_PtrKamil Rytarowski2018-11-161-1/+1
| | | | | | | | | | | | This modification is require for NetBSD with GCC, as there is a custom unwind.h header implementation with different types. No functional change intended for others. Cherry-picked chunk from D33878. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@347102 91177308-0d34-0410-b5e6-96231b3b80d8
* Cast _Unwind_GetIP() and _Unwind_GetRegionStart() to uintptr_tKamil Rytarowski2018-11-161-3/+2
| | | | | | | | | | | | This modification is require for NetBSD with GCC, as there is a custom unwind.h header implementation with different types. No functional change intended for others. Cherry-picked chunk from D33878. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@347101 91177308-0d34-0410-b5e6-96231b3b80d8
* Compile and test i128 math builtins for Win64Reid Kleckner2018-11-011-1/+10
| | | | | | | | | | | | | | | | | | | | | Summary: Windows has always been LLP64, not LP64, so the macros were incorrect. Check for _WIN64, since AArch64 sets that too. The tests have to be fixed up in two main ways: 1. Use 'ULL' suffixes to avoid sign extension when passing hex literals with the sign bit set to signed 128 arguments. Clang -fms-compatibility makes such hex literals signed, not unsigned. 2. Disable various tests for 80-bit long double interoperation with i128 values. Reviewers: joerg, mstorsjo Subscribers: javed.absar, kristof.beyls, hiraditya, aheejin, llvm-commits Differential Revision: https://reviews.llvm.org/D53918 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@345796 91177308-0d34-0410-b5e6-96231b3b80d8
* [builtins] Re-enable x86-only long double testsReid Kleckner2018-10-301-0/+12
| | | | | | | | | | | | | | | | | | | Summary: In r81552, the HAS_80_BIT_LONG_DOUBLE macro was added to the unit test only version of int_lib.h. One month later in r85260 the duplicate int_lib.h was removed, but the tests still passed because we don't build with -Werror. This is the minimal change to bring it back, and I decided to put the configuration macro next to our 128-bit integer support macro. Reviewers: joerg, compnerd, mstorsjo Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D53838 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@345645 91177308-0d34-0410-b5e6-96231b3b80d8
* [compiler-rt][builtins] Don't #include CoreFoundation in os_version_check.cErik Pilkington2018-10-291-8/+33
| | | | | | | | | | This breaks some configurations, so just forward declare everything that we need. rdar://35943793 Differential revision: https://reviews.llvm.org/D50269 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@345551 91177308-0d34-0410-b5e6-96231b3b80d8
* [builtins] Fix -Wunused-local-typedef warning in compile time assertsReid Kleckner2018-10-291-1/+1
| | | | | | | Use the __attribute__ spellings when compiling with clang-cl so that __attribute__((unused)) expands to something. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@345550 91177308-0d34-0410-b5e6-96231b3b80d8
* [X86][compiler-rt] Add additional CPUs and features to the cpu detection to ↵Craig Topper2018-10-201-35/+78
| | | | | | | | | | | | | | | | match libgcc Summary: This patch adds additional features and cpus from libgcc. Unfortunately we've overflowed the existing 32-bits of features so we had to add a new __cpu_features2 variable to hold the additional bits. This matches libgcc as far as I can tell. Reviewers: echristo Reviewed By: echristo Subscribers: dberris, llvm-commits Differential Revision: https://reviews.llvm.org/D53461 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@344830 91177308-0d34-0410-b5e6-96231b3b80d8
* [Arm builtins] Remove non-necessary IS checkKristina Brooks2018-10-022-10/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes the instruction set check to make the msr APSR_nzcvq, ip instruction only execute if Thumb2 is used. The APSR is a subset of the bits of the CPSR (B.1.3.3 of the Arm v7 A and R ARM [1]) and is only available for A and R profiles. However in section B.9.3.11 of the same document we see that: "In the A and R profiles, APSR_nzcvq is the same as CPSR_f" "ARM recommends the APSR forms when only the N, Z, C, V, Q, and GE[3:0] bits are being written." This patch also make those files assemble for Armv8-M Mainline architecture profile. The builtins were cross-compiled for Arm, Aarch64 and Armv6-M, Armv7-M and Armv7E-M targets. Cross-compiled tests were executed for Arm target. [1]: https://developer.arm.com/docs/ddi0406/latest/arm-architecture-reference-manual-armv7-a-and-armv7-r-edition Patch by hug-dev (Hugues de Valon). Differential Revision: https://reviews.llvm.org/D51854 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@343601 91177308-0d34-0410-b5e6-96231b3b80d8
* [compiler-rt] [builtins] Add logb/logbf/logbl methods to compiler-rt to ↵Jordan Rupprecht2018-09-246-10/+77
| | | | | | | | | | | | | | | | | | | | | | | avoid libm dependencies when possible. Summary: The complex division builtins (div?c3) use logb methods from libm to scale numbers during division and avoid rounding issues. However, these come from libm, meaning anyone that uses --rtlib=compiler-rt also has to include -lm. Implement logb* methods for standard ieee 754 floats so we can avoid -lm on those platforms, falling back to the old behavior (using either logb() or `__builtin_logb()`) when not supported. These new methods are defined internally as `__compiler_rt_logb` so as not to conflict with the libm definitions in any way. This fixes just the libm methods mentioned in PR32279 and PR28652. libc is still required, although that seems to not be an issue. Note: this is proposed as an alternative to just adding -lm: D49330. Reviewers: efriedma, compnerd, scanon, echristo Reviewed By: echristo Subscribers: jsji, echristo, nemanjai, dberris, mgorny, kbarton, delcypher, llvm-commits, #sanitizers Differential Revision: https://reviews.llvm.org/D49514 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@342917 91177308-0d34-0410-b5e6-96231b3b80d8
* [builtins] Add __emutls_unregister_key functionYi Kong2018-09-201-0/+13
| | | | | | | | | | | | | This is called by Bionic on dlclose to delete the emutls pthread key. The return value of pthread_key_delete is unchecked and behaviour of multiple calls to the method is dependent on the implementation of pthread_key_delete. Differential Revision: https://reviews.llvm.org/D52251 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@342608 91177308-0d34-0410-b5e6-96231b3b80d8
* [builtins] Fix c?zdi2 on sparc64/Linux and ignore riscv32Kristina Brooks2018-09-182-4/+14
| | | | | | | | | | | | | | | On sparc64/Linux, sparc64 isn't defined; the canonical way of checking for sparc64 is sparc && arch64, which also works on the BSDs and Solaris. Since this problem does not occur on 32-bit architectures, riscv32 can be ignored. This fixes and refines rL324593. Patch by jrtc27 (James Clarke) Differential Revision: https://reviews.llvm.org/D43146 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@342504 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch to using a reserved identifier for this internal compiler-rt function.Richard Smith2018-09-082-7/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@341736 91177308-0d34-0410-b5e6-96231b3b80d8
* ARM: wrap call to __clzsi2 so that the name is correct on MachO.Tim Northover2018-09-061-1/+1
| | | | | | | | MachO symbols are prefixed with an extra '_' (that's 3 in total for this function), so assembly calls have to go through a wrapper to insert any prefix needed. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@341540 91177308-0d34-0410-b5e6-96231b3b80d8
* [macOS] stop generating the libclang_rt.10.4.a library for macOS 10.4Alex Lorenz2018-08-081-137/+0
| | | | | | | | | The support for macOS 10.4 has been dropped by Xcode 10. rdar://42876880 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@339277 91177308-0d34-0410-b5e6-96231b3b80d8
* [cmake] [ARM] Exclude any VFP builtins if VFP is not supportedAzharuddin Mohammed2018-07-301-0/+9
| | | | | | | | | | | | | | | | | | | | Summary: rL325492 disables FPU features when using soft floating point (-mfloat-abi=soft), which is used internally when building for arm. This causes errors with builtins that utililize VFP instructions. With this change we check if VFP is enabled (by checking if the preprocessor macro __VFP_FP__ is defined), and exclude such builtins if it is not enabled. Reviewers: rengolin, samsonov, compnerd, smeenai, javed.absar, peter.smith Reviewed By: peter.smith Subscribers: delcypher, peter.smith, mgorny, kristof.beyls, chrib, llvm-commits Differential Revision: https://reviews.llvm.org/D47217 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@338284 91177308-0d34-0410-b5e6-96231b3b80d8
* [builtins] Implement the __chkstk function for ARM for MinGWMartin Storsjo2018-07-172-0/+35
| | | | | | | | | | This function is available for linking in from kernel32.dll, but it's not allowed to link that function from there in Windows Store apps. Differential Revision: https://reviews.llvm.org/D49055 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@337313 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bots after r334981Francis Visoiu Mistrih2018-06-191-19/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@335013 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixing os_version_check.c to be actual C sourceChris Bieneman2018-06-181-27/+50
| | | | | | | | | The initial implementaiton was using the C++ typeof keyword. This causes the compiler to spew warnings unnecissarilly. This patch removes the uses of typeof and replaces them with explicit typedefs of the function types. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@334981 91177308-0d34-0410-b5e6-96231b3b80d8
* [compiler-rt] [builtins] Don't build __atomic_* by default.Eli Friedman2018-06-141-2/+2
| | | | | | | | | | | | | The locks need to be implemented in a shared library to work correctly, so they shouldn't be part of libclang_rt.builtins.a, except in specialized scenarios where the user can prove it will only be linked once. Differential Revision: https://reviews.llvm.org/D47606 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@334779 91177308-0d34-0410-b5e6-96231b3b80d8
* [builtins] Delay emutls deallocation for one roundRyan Prichard2018-06-121-11/+41
| | | | | | | | | | | | | | | | | | | | Summary: With Android/Bionic, delay deallocation to round 2 of 4. It must run after C++ thread_local destructors have been called, but before the final 2 rounds, because emutls calls free, and jemalloc then needs another 2 rounds to free its thread-specific data. Fixes https://github.com/android-ndk/ndk/issues/687 Reviewers: cmtice, srhines, jyknight, chh, echristo Reviewed By: srhines, chh, echristo Subscribers: echristo, delcypher, llvm-commits, #sanitizers Differential Revision: https://reviews.llvm.org/D46978 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@334463 91177308-0d34-0410-b5e6-96231b3b80d8
* [builtins] emutls cleanup: determine header size using sizeofRyan Prichard2018-06-121-6/+7
| | | | | | | | | | | | | | Summary: Also add a few post-#else/#endif comments Reviewers: echristo, srhines Reviewed By: echristo Subscribers: chh, delcypher, llvm-commits, #sanitizers Differential Revision: https://reviews.llvm.org/D47861 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@334462 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert "[cmake] [ARM] Check if VFP is supported before including any VFP ↵Azharuddin Mohammed2018-05-241-14/+5
| | | | | | | | builtins" This reverts commit 2a10f5da5acb1b51d0a2ecf13dca0bf1de859db2. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@333232 91177308-0d34-0410-b5e6-96231b3b80d8