summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/builtins
Commit message (Collapse)AuthorAgeFilesLines
...
* [CMake] [Darwin] [Builtins] Sorting and uniquing blacklists. NFC.Chris Bieneman2015-11-122-92/+10
| | | | llvm-svn: 252964
* [CMake] [builtins] Removing a few non-source files from the arm list.Chris Bieneman2015-11-121-2/+0
| | | | | | I was a little too aggressive about adding sources from the arm subdirectory. llvm-svn: 252929
* [CMake] Actually adding the TODO comment I mentioned in r252927.Chris Bieneman2015-11-121-0/+3
| | | | | | Turns out you need to save before committing. llvm-svn: 252928
* [CMake] [builtins] Adding missing architecture-specific builtins.Chris Bieneman2015-11-121-0/+8
| | | | | | Also added a TODO comment to make the build system throw an error if the CMakeLists gets out of sync again. llvm-svn: 252927
* [compiler-rt][aarch64] New tests for 128-bit floating-point builtins, fixes ↵Sergey Dmitrouk2015-11-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | of tests and __fixuint Summary: The following tests for 128-bit floating-point type behaved in a strange way, thought it were bugs, but seem to be mistakes in tests: * `fixtfsi` test checked for `0x80000001` as a value returned for number less than can be represented, while `LONG_MIN` should be returned on saturation; * `fixunstfdi` wasn't enabled for AArch64, only for PPC, but there is nothing PPC specific in that test; * `multf3` tried to underflow multiplication by producing result with 16383 exponent, while there are still 112 bits of fraction plus implicit bit, so resultant exponent should be 16497. Tests for some other builtins didn't exist: * `fixtfdi` * `fixtfti` * `fixunstfti` They were made by copying similar files and adjusting for wider types and adding/removing some reasonable/extra checks. Also `__fixuint` seems to have off by one error, updated tests to catch this case. Reviewers: rengolin, zatrazz, howard.hinnant, t.p.northover, jmolloy, enefaim Subscribers: aemerson, llvm-commits, rengolin Differential Revision: http://reviews.llvm.org/D14187 llvm-svn: 252180
* Fix r251928 build errorMartell Malone2015-11-031-2/+2
| | | | llvm-svn: 251931
* Support for 32-bit mingw-w64 in compiler-rt.Martell Malone2015-11-035-4/+88
| | | | | | | | | | | | Add chkstk/alloca for gcc objects. Replace or instructions with test, the latter should be marginally more efficent, as it does not write to memory. Differential Revision: http://reviews.llvm.org/D14044 Patch by vadimcn llvm-svn: 251928
* builtins: Expand out floating point exponents for MSVCSaleem Abdulrasool2015-10-152-5/+5
| | | | | | | | | MSVC 2013 doesnt support C99 fully, including the hexidecimal floating point representation. Use the expanded value to permit building with it. Patch by Tee Hao Wei! llvm-svn: 250365
* builtins: use C implementation on MSVCSaleem Abdulrasool2015-10-151-36/+49
| | | | | | | | | The assembly implementations use GNU syntax which MSVC doesn't handle. Rather than duplicate the code in a second syntax, use the C implementations. Patch by Tee Hao Wei! llvm-svn: 250360
* builtins: __builtin_clzll for x86 on MSVCSaleem Abdulrasool2015-10-151-2/+12
| | | | | | | | | Add an implementation for __builtin_clzll on MSVC even when _BitScanForward4 is unavailable. Patch by Tee Hao Wei! llvm-svn: 250359
* Revert "builtins: enable builtins build for MSVC"Saleem Abdulrasool2015-10-111-1/+1
| | | | | | | | Revert once more. This seems to fail to build on the buildbots which build with ninja rather than MSBuild/Visual Studio. This requires further build infrastructure changes to deal with the assembly routines. llvm-svn: 250001
* Revert "Revert "builtins: enable builtins build for MSVC""Saleem Abdulrasool2015-10-111-1/+1
| | | | | | | Previous changes should now permit building on MSVC 2013 in addition to MSVC 2015. llvm-svn: 250000
* builtins: define and use ALWAYS_INLINESaleem Abdulrasool2015-10-112-4/+5
| | | | | | Abstract out the always inline spelling similar to ASAN. NFC. llvm-svn: 249986
* builtins: use NORETURN macroSaleem Abdulrasool2015-10-111-3/+3
| | | | | | | Now that we have the NORETURN macro, use that to mark the function as noreturn, rather than the GNU __attribute__. llvm-svn: 249985
* builtins: spell inline as __inlineSaleem Abdulrasool2015-10-1013-57/+53
| | | | | | | | | __inline is a vendor specific spelling for inline. clang and gcc treat it the same as inline, and is available in MSVC 2013 which does not implement C99 (VS2015 supports the inline keyword though). This will allow us to build the builtins using MSVC. llvm-svn: 249953
* Revert "builtins: enable builtins build for MSVC"Saleem Abdulrasool2015-10-101-1/+1
| | | | | | | Seems to break on the sanitizer buildbot. Revert until it can be fixed properly. llvm-svn: 249950
* builtins: silence a MSVC warningSaleem Abdulrasool2015-10-101-0/+2
| | | | | | _BitReverse64 is only available on ARM and x64. Guard it accordingly. llvm-svn: 249949
* builtins: enable builtins build for MSVCSaleem Abdulrasool2015-10-101-1/+1
| | | | | | Patch by Tee Hao Wei! llvm-svn: 249948
* [CMake] [macho_embedded] [builtins] Need to also drop the bswap builtins.Chris Bieneman2015-10-091-2/+0
| | | | llvm-svn: 249914
* [CMake] hand tuning the macho_embedded export lists to match the current ↵Chris Bieneman2015-10-092-2/+1
| | | | | | Xcode distribution. llvm-svn: 249912
* [CMake] Hand tuning the exclude lists for libclang_rt.10.4.aChris Bieneman2015-10-092-0/+131
| | | | llvm-svn: 249888
* Add ARM RTABI aliases for half-precision conversionsOliver Stannard2015-10-073-0/+6
| | | | | | | The ARM RTABI defines these functions as __aeabi_h2f, __aeabi_f2h and __aeabi_d2h, so we need aliases for them. llvm-svn: 249559
* builtins: fix buildSaleem Abdulrasool2015-10-071-1/+1
| | | | | | | __GNUC__ indicates the GNU compiler, not __GNU__. This got through due to building with clang rather than gcc. llvm-svn: 249516
* builtins: implement instrinics for clSaleem Abdulrasool2015-10-071-0/+28
| | | | | | | | | cl does not support the same intrinsics as clang. Provide implementations for the intrinsics using MSVC builtins. Patch by Tee Hao Wei! llvm-svn: 249515
* builtins: emulate _Complex for clSaleem Abdulrasool2015-10-077-54/+71
| | | | | | | | | cl does not support C99 completely as of VS2015. Emulate _Complex to allow building with MSVC. Patch by Tee Hao Wei! llvm-svn: 249514
* builtins: use MSVC intrinsics with clSaleem Abdulrasool2015-10-071-5/+52
| | | | | | | | Use MSVCRT functions for floating-point builtins unavailable on MSVC. Patch by Tee Hao Wei! llvm-svn: 249513
* [builtins] Enable building of the builtins library for MIPS targets.Vasileios Kalintiris2015-10-061-0/+5
| | | | | | | | | | Reviewers: howard.hinnant, samsonov Subscribers: samsonov, dsanders, llvm-commits Differential Revision: http://reviews.llvm.org/D13098 llvm-svn: 249382
* builtins: fix buildSaleem Abdulrasool2015-10-062-1/+2
| | | | | | | | Unfortunately, int_utils.h needs to depend on int_lib for the common macro definitions. However, currently, int_utils.h is included by int_lib.h. Reorder the inclusion to work around this. llvm-svn: 249376
* builtins: Use MSVC-equivalents of attributesSaleem Abdulrasool2015-10-064-9/+18
| | | | | | | | This allows us to build the builtins using MSVC. NFC. Patch by Tee Hao Wei! llvm-svn: 249375
* builtins: tweak constant spellingSaleem Abdulrasool2015-10-062-4/+4
| | | | | | | | Use 4294967296.f instead of 0x1p32f to fix MSVC. NFC. Patch by Tee Hao Wei! llvm-svn: 249374
* builtins: tweak Windows buildSaleem Abdulrasool2015-10-061-2/+2
| | | | | | | | Include Windows.h instead of winbase.h and windef.h Patch by Tee Hao Wei! llvm-svn: 249373
* [CMake] [builtins] [macho_embedded] Separate out the 64-bit thumb builtins ↵Chris Bieneman2015-10-012-10/+10
| | | | | | | | so they don't get included on 'm' architectures. NFC. This should help make the compiler-rt build less noisy. llvm-svn: 249084
* [CMake] [builtins] [OS X] Adding all builtins that generate empty object ↵Chris Bieneman2015-10-013-0/+95
| | | | | | | | files for OS X to the exclude lists. This should help make the compiler-rt build less noisy. llvm-svn: 249070
* [CMake] [builtins] [iOS Sim] Adding all builtins that generate empty object ↵Chris Bieneman2015-10-013-0/+95
| | | | | | | | files for the iOS simulator to the exclude lists. This should help make the compiler-rt build less noisy. llvm-svn: 249068
* [CMake] [iOS] [builtins] Adding all builtins that generate empty object ↵Chris Bieneman2015-10-012-0/+164
| | | | | | | | files for iOS to the exclude lists. This should help make the compiler-rt build less noisy. llvm-svn: 249057
* [CMake] [Darwin] [builtins] Make CMake re-generate if the builtin filter ↵Chris Bieneman2015-09-293-0/+10
| | | | | | | | lists change. We need to make sure that if you change the builtin filter lists CMake re-generates its configurations so it includes the right builtins in the generated libraries. llvm-svn: 248852
* [CMake] [Darwin] Support building the macho_embedded builtin libraries.Chris Bieneman2015-09-295-0/+147
| | | | | | | | | | | | Summary: This ports functionality from the clang_macho_embedded.mk platform makefile over to CMake. Reviewers: bogner, samsonov, bob.wilson Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D13226 llvm-svn: 248850
* [CMake] [Darwin] [builtins] Exclude aeabi builtins from iOS arm32 ↵Chris Bieneman2015-09-282-0/+34
| | | | | | architectures since we don't support aeabi on iOS. llvm-svn: 248744
* builtins: silence GCC warningSaleem Abdulrasool2015-09-271-5/+5
| | | | | | | | | | | | | If the builtins are built with libgcc as the unwind provider on ARM, the exposed _Unwind_SetIP is a macro. This results in the following warning due to expansion of the argument: warning: suggest parentheses around arithmetic in operand of ‘|’ [-Wparentheses] Add a no-op set of parenthesis around the argument that will prevent this warning. llvm-svn: 248686
* build: create two versions of ARM builtinsSaleem Abdulrasool2015-09-261-0/+1
| | | | | | | | | | | | | This adds a new name for ARM32 (armhf). We now force that the default build for ARM32 (arm) to be soft-float ABI. This has a corresponding clang change to look for these names based on the floating point ABI. The functions are built identically (the functions are marked as AAPCS, so the calling convention does not change, as per the RTABI specification), however, the object file contains attributes indicating the build configuration which the linker will ensure are not mix and matched. We now built the appropriate named archive so that we can link properly. llvm-svn: 248648
* [CMake] [builtins] Only include the atomic builtins if(APPLE).Chris Bieneman2015-09-231-6/+11
| | | | | | There are lingering issues building the atomic builtins with various versions of gcc. To unblock people we can only include them on Apple platforms where they are more tested. llvm-svn: 248386
* Code cleanup based on post-commit review from Aaron Ballman.Chris Bieneman2015-09-232-2/+0
| | | | llvm-svn: 248385
* [CMake] [Darwin] Bug 21562 - Add a CMake equivalent for ↵Chris Bieneman2015-09-236-39/+269
| | | | | | | | | | | | | | | | | make/platform/clang_darwin.mk in compiler_rt Summary: Building the builtins on Darwin platforms is a bit complicated. This is a first-pass implementation of the functionality from clang_darwin.mk into CMake. When building the builtins on Darwin we have layers of blacklists that we apply based on platform, architecture, and minimum supported OS version. Reviewers: bogner, filcab, bob.wilson, samsonov Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D13059 llvm-svn: 248383
* [builtins] Fixing broken bot building on linux with -WerrorChris Bieneman2015-09-222-2/+4
| | | | | | Returning a void expression is bad. llvm-svn: 248346
* [builtins] One more stab at fixing the bots.Chris Bieneman2015-09-226-0/+24
| | | | llvm-svn: 248330
* [builtins] Fixing atomic builtins to be compiled out if stdatomic.h isn't ↵Chris Bieneman2015-09-226-0/+24
| | | | | | | | | | available. This should fix the bots broken by r248322. Reviewed by bogner over my shoulder. llvm-svn: 248328
* [CMake] Add atomic builtins to GENERIC_SOURCES list.Chris Bieneman2015-09-221-0/+6
| | | | | | | | | | Reviewers: bogner, samsonov Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D13069 llvm-svn: 248322
* [CMake] Enable building builtins for iOS and iOS simulator.Chris Bieneman2015-08-311-1/+1
| | | | | | Building iOS does respect COMPILER_RT_ENABLE_IOS. llvm-svn: 246501
* [CMake] Fixing lip output library name on Darwin platforms.Chris Bieneman2015-08-311-3/+3
| | | | llvm-svn: 246499
* [CMake] Fix building builtins on Linux and Darwin.Chris Bieneman2015-08-311-7/+47
| | | | | | | | | | | | | | | Summary: I broke building the builtins with r245967. This fixes them on Linux and builds them properly for Darwin. The old code could not be made to work on Darwin as a result of the refactoring of add_compiler_rt_runtime, so I had to rework the way they are built for Darwin. This solution is not ideal and will be fixed in subsequent commits. I just want to get this in so everything is working again. Reviewers: samsonov, chh, compnerd, bogner Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D12500 llvm-svn: 246487
OpenPOWER on IntegriCloud