summaryrefslogtreecommitdiff
path: root/lib/builtins/CMakeLists.txt
AgeCommit message (Collapse)Author
2017-12-24Fix PR35739: chkstk and chkst2 should only be built for WindowsDimitry Andric
As reported in PR35739, rL252927 added the Windows specific chkstk and chkstk2 sources unconditionally, and since these are assembly without a NO_EXEC_STACK_DIRECTIVE at the end, automated vulnerability scanners warned about the objects having an executable stack. Avoid the problem by only including these files when Windows is targeted. Reviewers: compnerd, rnk, martell Reviewed By: martell Subscribers: mstorsjo, mgorny, martell, javed.absar, #sanitizers, llvm-commits Differential Revision: https://reviews.llvm.org/D41567 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@321431 91177308-0d34-0410-b5e6-96231b3b80d8
2017-12-20[builtins] Implement __chkstk for arm64 windowsMartin Storsjo
Differential Revision: https://reviews.llvm.org/D41134 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@321151 91177308-0d34-0410-b5e6-96231b3b80d8
2017-12-18Fix more inconsistent line endings. NFC.Dimitry Andric
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@321016 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-30Add powerpc64 to compiler-rt build infrastructure.Sterling Augustine
Now that we have disabled the run-forever tests, and cleaned up the intel 80-bit float based tests, we should be able to enable testing compiler-rt for powerpc64. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@319474 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-30Move x86-specific sources to x86-specific source lists.Sterling Augustine
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@319464 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-14[builtins] Include GENERIC_SOURCES in arm_SOURCES for MinGWMartin Storsjo
It is included in the built sources for all other arches supported for MinGW currently, except for arm. Differential Revision: https://reviews.llvm.org/D39938 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@318139 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-07[WebAssembly] Include GENERIC_TF_SOURCES in wasm buildsSam Clegg
Differential Revision: https://reviews.llvm.org/D39748 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@317601 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-30[builtins] Prevent duplicate definitions for overridden functionsFrancis Ricci
Summary: Some architecture-specific function overrides (for example, i386/ashrdi3.S) duplicate generic functions (in that case, ashrdi3.c). Prevent duplicate definitions by filtering out the generic files before compiling. Reviewers: compnerd, beanz Subscribers: llvm-commits, mgorny Differential Revision: https://reviews.llvm.org/D37166 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@312140 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-28Reland r311842 - [cmake] Remove i686 target that is duplicate to i386Michal Gorny
Remove the explicit i686 target that is completely duplicate to the i386 target, with the latter being used more commonly. 1. The runtime built for i686 will be identical to the one built for i386. 2. Supporting both -i386 and -i686 suffixes causes unnecessary confusion on the clang end which has to expect either of them. 3. The checks are based on wrong assumption that __i686__ is defined for all newer x86 CPUs. In fact, it is only declared when -march=i686 is explicitly used. It is not available when a more specific (or newer) -march is used. Curious enough, if CFLAGS contain -march=i686, the runtime will be built both for i386 and i686. For any other value, only i386 variant will be built. Differential Revision: https://reviews.llvm.org/D26764 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@311924 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-27Revert r311842 - [cmake] Remove i686 target that is duplicate to i386Michal Gorny
The required change in clang is being reverted because of the Android build bot failure. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@311859 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-27[cmake] Remove i686 target that is duplicate to i386Michal Gorny
Remove the explicit i686 target that is completely duplicate to the i386 target, with the latter being used more commonly. 1. The runtime built for i686 will be identical to the one built for i386. 2. Supporting both -i386 and -i686 suffixes causes unnecessary confusion on the clang end which has to expect either of them. 3. The checks are based on wrong assumption that __i686__ is defined for all newer x86 CPUs. In fact, it is only declared when -march=i686 is explicitly used. It is not available when a more specific (or newer) -march is used. Curious enough, if CFLAGS contain -march=i686, the runtime will be built both for i386 and i686. For any other value, only i386 variant will be built. Differential Revision: https://reviews.llvm.org/D26764 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@311842 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-10[compiler-rt][ARM] Fix filtering of ARM targetsOleg Ranevskyy
Summary: Similarly to i686, the ARM build target has multiple names, such as armhf, armv7 and so on. Currently we get duplicated symbol definitions for these targets while compiling the library. Each duplicated definition has its generic version from `lib/builtins` and an ARM-specialized version from `lib/builtins/arm`. This patch fixes filtering for ARM to ignore the generic definitions if they have their ARM specializations. Reviewers: compnerd Reviewed By: compnerd Subscribers: aemerson, dberris, llvm-commits, mgorny, asl, kristof.beyls Differential Revision: https://reviews.llvm.org/D35336 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@310588 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-01Revert rL309634 until upstream buildbots have upgraded libc.Sterling Augustine
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@309704 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-31Add powerpc64 to compiler-rt build infrastructure.Sterling Augustine
Summary: Add powerpc64 to compiler-rt build infrastructure. Reviewers: timshen Reviewed By: timshen Subscribers: nemanjai, dberris, mgorny, aheejin, cfe-commits Differential Revision: https://reviews.llvm.org/D36108 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@309634 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-12[builtins] Better Fuchsia supportPetr Hosek
Add Fuchsia support to some builtings and avoid building builtins that are not and will never be used on Fuchsia. Differential Revision: https://reviews.llvm.org/D34075 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@307832 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-25Add generic __bswap[ds]i2 implementationsDimitry Andric
Summary: In FreeBSD we needed to add generic implementations for `__bswapdi2` and `__bswapsi2`, since gcc 6.x for mips is emitting calls to these. See: https://reviews.freebsd.org/D10838 and https://reviews.freebsd.org/rS318601 The actual mips code generated for these generic C versions is pretty OK, as can be seen in the (FreeBSD) review. I checked over gcc sources, and it seems that it can emit these calls on more architectures, so maybe it's best to simply always add them to the compiler-rt builtins library. Reviewers: howard.hinnant, compnerd, petarj, emaste Reviewed By: compnerd, emaste Subscribers: mgorny, llvm-commits, arichardson Differential Revision: https://reviews.llvm.org/D33516 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@303866 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-25[cmake] Disable building emutls.c for baremetal targets.Catherine Moore
Differential Revision: https://reviews.llvm.org/D33199 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@303865 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-15builtins: fix filtering aliased targetsSaleem Abdulrasool
Some build targets (e.g. i686) have aliased names (e.g. i386). We would get multiple definitions previously and have the linker arbitrarily select a definition on those aliased targets. Make this more deterministic by checking those aliases. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@303103 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-10[cmake] Disable building enable_execute_stack.c for baremetal targets.Catherine Moore
Disable building enable_execute_stack.c for targets that do not have support for mprotect(). Differential Revision: https://reviews.llvm.org/D33018 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@302680 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-06[builtins] Fixup emulated TLS for mingw.Martell Malone
Enabled emulated TLS on WOA for mingw Fix <windows.h> include for mingw Reviewed By: chapuni, mstorsjo Subscribers: compnerd, llvm-commits Differential Revision: https://reviews.llvm.org/D32681 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@302340 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-04[compiler-rt][mips] Add support for quad precision builtins for mips64Simon Dardis
Match the builtins that GCC provides for IEEE754 quad precision on MIPS64. Also, enable building them with clang as PR20098 is resolved. Disable tests for xf and xc modes as MIPS doesn't support that mode in hardware or software. Reviewers: slthakur Differential Revision: https://reviews.llvm.org/D32794 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@302147 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-02Roll back r301831 to fix broken powerpc64le tests.Sterling Augustine
http://lab.llvm.org:8011/builders/clang-ppc64le-linux/builds/5941 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@301935 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-01Add powerpc64 and powerpc64le to build infrastructure.Sterling Augustine
From Phab D32031. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@301831 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-25[builtins] Implement emulated TLS on Windows.Frederich Munch
Summary: LLVM JIT needs to be able to use emulated TLS on all platforms, and this provides a reference one can compile to enable emutls for Linux/Mac/Windows. Reviewers: chh, howard.hinnant Reviewed By: chh Subscribers: mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D30787 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@301350 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-24Revert r301089 "[builtins] Implement emulated TLS on Windows."Hans Wennborg
This broke the self-host build on Windows (PR32777). Original commit message: > [builtins] Implement emulated TLS on Windows. > > Summary: > LLVM JIT needs to be able to use emulated TLS on all platforms, and this provides a reference one can compile to enable emutls for Linux/Mac/Windows. > > Reviewers: chh, howard.hinnant > > Reviewed By: chh > > Subscribers: mgorny, llvm-commits > > Differential Revision: https://reviews.llvm.org/D30787 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@301274 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-22[builtins] Implement emulated TLS on Windows.Frederich Munch
Summary: LLVM JIT needs to be able to use emulated TLS on all platforms, and this provides a reference one can compile to enable emutls for Linux/Mac/Windows. Reviewers: chh, howard.hinnant Reviewed By: chh Subscribers: mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D30787 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@301089 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-07[builtins] Get the builtins tests passing on WindowsReid Kleckner
Many things were broken: - We stopped building most builtins on Windows in r261432 for reasons that are not at all clear to me. This essentially reverts that patch. - Fix %librt to expand to clang_rt.builtins-$arch.lib on Windows instead of libclang_rt.builtins-$arch.a. - Fix memory protection tests (trampoline, enable executable, clear cache) on Windows. One issue was that the MSVC incremental linker generates ILT thunks for functions with external linkage, so memcpying the functions into the executable stack buffer wasn't working. You can't memcpy an RIP-relative jump without fixing up the offset. - Disable tests that rely on C99 complex library functions when using the MSVC CRT, which isn't compatible with clang's C99 _Complex. In theory, these could all be separate patches, but it would not green the tests, so let's try for it all at once. Hopefully this fixes the clang-x64-ninja-win7 bot. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@299780 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-06Add __ffssi2 implementation to compiler-rt builtinsDimitry Andric
Summary: During MIPS implementation work for FreeBSD, John Baldwin (jhb@FreeBSD.org) found that gcc 6.x emits calls to __ffssi2() when compiling libc and some userland programs in the base system. Add it to compiler-rt's builtins, based off of the existing __ffsdi2() implementation. Also update the CMake files and add a test case. Reviewers: howard.hinnant, weimingz, rengolin, compnerd Reviewed By: weimingz Subscribers: dberris, mgorny, llvm-commits, emaste Differential Revision: https://reviews.llvm.org/D31721 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@299675 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-29[Builtin] Unxfail tests for armhfWeiming Zhao
Summary: Originally, a few tests fail for armhf target due to: 1) COMPILER_RT_ARMHF_TARGET was not set when building the lib 2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests This address https://bugs.llvm.org//show_bug.cgi?id=32261 mulsc3_test.c is a newly exposed issue, which will be addressed separately. Reviewers: rengolin, compnerd Reviewed By: compnerd Subscribers: aemerson, llvm-commits, mgorny Differential Revision: https://reviews.llvm.org/D31448 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@298974 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-09Reapply r297382: "[compiler-rt][builtins] Add __isOSVersionAtLeast()"Erik Pilkington
Looks like the problem was a case-insensitive include of dispatch/dispatch.h. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@297392 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-09Revert "[compiler-rt][builtins] Add __isOSVersionAtLeast()"Erik Pilkington
This reverts r297382, it was causing build failures. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@297388 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-09[compiler-rt][builtins] Add __isOSVersionAtLeast()Erik Pilkington
This predicate compares the host's marketing OS version to one passed as argument. Currently, only darwin targets are supported. This is done by parsing the SystemVersion.plist file. Also added in this patch is some lit testing infrastructure for builtins, which previously had none. This part of the patch was written by Alex Lorenz (with some minor modifications). This patch is part of a feature I proposed here: http://lists.llvm.org/pipermail/cfe-dev/2016-July/049851.html Differential revision: https://reviews.llvm.org/D30136 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@297382 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-06[Builtin][ARM] Implement addsf3/__aeabi_fadd for Thumb1Weiming Zhao
Summary: This patch implements addsf3/__aeabi_fadd in asm for Thumb1. Compared with generic C version (lib/fp_add_impl.inc), it 1. all constants are materialized instead of loading from constant pool 2. no stack spills (C version uses 136 bytes stack space) 3. clz() is called only when necessary. (C version always calls it) Reviewers: compnerd, rengolin, asl Reviewed By: asl Subscribers: efriedma, aemerson, mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D29485 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@294172 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-30[Bultin][ARM] Make aeabi_uldivmod and aeabi_ldivmod be Thumb1 compatibleWeiming Zhao
Summary: in aeabi_ldivmod and uldivmod, using r6 instead of r12 as the temp reg due to limitation of Thumb1 ISA. Now, all EABI sources are Thumb1 compatible. Also added test cases by reusing the test cases from divmodsi4_test.c, udivmodsi4_test and udivmoddi4_test.c Reviewers: rengolin, compnerd Reviewed By: rengolin Subscribers: javed.absar, aemerson, mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D29226 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@293527 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-27[Builtin][ARM] Add Thumb1 support for aeabi_c{f,d}cmp.S and dcmp.SWeiming Zhao
Reviewers: compnerd, rengolin Reviewed By: rengolin Subscribers: aemerson, llvm-commits, mgorny Differential Revision: https://reviews.llvm.org/D28985 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@293247 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-21[Bultin][ARM] Make aeabi_memset be Thumb1 compatible and other asmWeiming Zhao
syntax fix Summary: Make the asm of aeabi_memset be assembled for thumb1. Also fix some instructions to conform with the syntax of ARM reference manual. For example, muls requires the form of "Rd, Rn, Rd" and orrs requires the form of "Rd, Rm". Clang-as is benign but it may fail other assembler if not in the exact form. Reviewers: rengolin, compnerd, kubamracek Reviewed By: rengolin, compnerd Subscribers: aemerson, llvm-commits, mgorny Differential Revision: https://reviews.llvm.org/D28971 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@292727 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-19[Builtin] [ARM] Update CMake to support the build of armv6mWeiming Zhao
Summary: Setting -DCOMPILER_RT_TEST_TARGET_TRIPLE=armv6m-none-eabi will enable the build of builtin functions ARMv6m. Currently, only those asms that support armv6m are added. TODO:All asm sin ARM_EABI_Sources are ported for thumb1 so Thumb1_EABI_Sources will be deprecated. Reviewers: rengolin, compnerd Reviewed By: compnerd Subscribers: aemerson, mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D28463 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@292504 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-06[builtins] Implement __floattitf() & __floatuntitf()Michal Gorny
Implement the missing __floattitf() and __floatuntitf() functions, to convert 128-bit (unsigned) integers to quad-precision floating-point types. This is needed e.g. on AArch64 where 'long double' is a quad-precision type. The code is based on the existing code for __floattixf() and __floatuntixf(), updated to account for different bit field lengths of quad-precision float. The tests are also copied, with the rounding tests adjusted for longer significand. Differential Revision: https://reviews.llvm.org/D27898 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@291259 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-01build: fix building for Windows after SVN r287465Saleem Abdulrasool
The previous change for enabling MinGW did not preserve the Win32 check and added the EABI specific routines to a Windows build which does not use the EABI routines. Correct the conditional check for that. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@288422 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-29builtins: switch to c11 from c99Saleem Abdulrasool
This fixes an incorrect standard usage of GNU99 when the compiler check was for the ISO standard C99. Furthermore, bump the dependency up to C11. The motivation for this change is ARM EHABI compatibility with clang 3.8. We rely on a type definition redefinition which causes an error with -Werror builds. This is problematic for FreeBSD builds. Switching to C11 allows the compatibility without the unnecessary pedantic warning. The alternative would be to clutter the support header with a `pragma clang diagnostic ignore`. GCC 4.8+ and the supported clang revisions along with MSVC support enough of C11 to allow building the builtins in C11 mode. No functional change intended. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@288099 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-19builtins: Allow building windows arm functions for mingwMartin Storsjo
When building with clang/LLVM in MSVC mode, the msvcrt libraries contain these functions. When building in a mingw environment, we need to provide them somehow, e.g. via compiler-rt. The aeabi divmod functions work in the same way as the corresponding __rt_*div* functions for windows, but their parameters are swapped. The functions for converting float to integer and vice versa are the same as their aeabi equivalents, only with different function names. Differential Revision: https://reviews.llvm.org/D26183 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@287465 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-28builtins: ensure that VISIBILITY_HIDDEN is defined properlySaleem Abdulrasool
The CMake build system had missed this macro as part of the build of the builtins. This would result in the builtins exporting symbols which are implemented in assembly with global visibility. Ensure that the assembly optimized routines are given the same visibility as the C routines. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@285477 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-26[ARM RT] Fix broken clear_cache debug build on ARMRenato Golin
clear_cache is using R7 for the SVC call and that's the frame pointer in GCC, which is only disabled on -O2/3, so Release builds finish, Debug don't. Fixes PR30797. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@285204 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-01[CMake] Add option (defaulted off) to exclude atomic.cChris Bieneman
The atomic builtin source is problematic when cross-compiling builtins because it requires a variable and sometimes large set of system headers. This option allows users to optionally prevent it from being built. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@280416 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-23[builtins] Don't always use -ffreestanding when compiling builtinsFrancis Ricci
This can break on some sysroots. Let the user define it if necessary. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@279496 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-22[compiler-rt] Use flags found when configuring builtins during compilationFrancis Ricci
Summary: This fixes the omission of -fPIC when building the builtins. Reviewers: compnerd, beanz Subscribers: dberris, llvm-commits Differential Revision: https://reviews.llvm.org/D23729 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@279469 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-15[CMake] Renaming test variable to be consistentChris Bieneman
Based on post-commit review by compnerd. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@278728 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-12[CMake] If the compiler supports _Atomic include atomic.c in builtins librariesChris Bieneman
This fixes a long-standing TODO by implementing a compiler check for supporting the _Atomic keyword. If the _Atomic keyword is supported by the compiler we should include it in the builtin library sources. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@278454 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-05builtins: better categorisation of Thumb1 builtinsSaleem Abdulrasool
Adjust the builtins to better annotate the Thumb1 routines and their purpose. Exclude the remaining thumb1 sources on Windows ARM. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@277828 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-04builtins: split out the EABI and VFP ARM sourcesSaleem Abdulrasool
These are meant to only be included on certain targets. This only disables it for Windows ARM for now. Ideally these would be conditionally included as appropriate. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@277777 91177308-0d34-0410-b5e6-96231b3b80d8