summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/builtins/int_lib.h
Commit message (Collapse)AuthorAgeFilesLines
* [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. llvm-svn: 359423
* [builtins] Fix the missing assembly on DarwinPetr Hosek2019-04-291-1/+1
| | | | | | This was introduced in r359413. llvm-svn: 359421
* [builtins] Fix the typo in the preprocessor checkPetr Hosek2019-04-291-1/+1
| | | | | | This was introduced in r359413. llvm-svn: 359419
* [builtins] Use aliases for function redirectsPetr Hosek2019-04-291-11/+18
| | | | | | | | | | | | | 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 llvm-svn: 359413
* [builtins] Use single line C++/C99 comment stylePetr Hosek2019-04-281-27/+26
| | | | | | | | | | | 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 llvm-svn: 359411
* [builtins] Reformat builtins with clang-formatPetr Hosek2019-04-281-19/+21
| | | | | | | | | | | 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 llvm-svn: 359410
* Update more file headers across all of the LLVM projects in the monorepoChandler Carruth2019-01-191-4/+3
| | | | | | | | | | | | | | | | | | 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. llvm-svn: 351648
* [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. llvm-svn: 345550
* [compiler-rt] Add back ARM EABI aliases where legal.Eli Friedman2017-10-031-1/+3
| | | | | | | | | | | | | | r303188 removed all the uses of aliases for EABI functions from compiler-rt, because some of them had mismatched calling conventions. Obviously, we can't use aliases for functions which don't have the same calling convention, but that's only an issue for floating-point functions with the hardfloat ABI. In other cases, the stubs increase size and reduce performance for no benefit. This patch adds back the aliases, with appropriate checks to make sure they're only used in cases where the calling convention matches. llvm-svn: 314851
* builtins: expand out the AEABI function stubsSaleem Abdulrasool2017-05-161-3/+2
| | | | | | | | | | | | | These actually may change calling conventions. We cannot simply provide function aliases as the aliased function may have a different calling convention. Provide a forwarding function instead to permit the compiler to synthesize the calling convention adjustment thunk. Remove the `ARM_EABI_FNALIAS` macro as that is not safe to use. Resolves PR33030! llvm-svn: 303188
* builtins: use reserved spelling (NFC)Saleem Abdulrasool2017-05-161-1/+1
| | | | llvm-svn: 303138
* [Builtin] Unxfail tests for armhfWeiming Zhao2017-03-291-1/+5
| | | | | | | | | | | | | | | | | | | | | 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 llvm-svn: 298974
* Use 'unsigned long' to match the APIs of the MS bitscan intrinsicsReid Kleckner2016-08-011-3/+3
| | | | | | | We were getting warnings about how 'uint32_t*' is different from 'unsigned long*' even though they are effectively the same on Windows. llvm-svn: 277363
* builtins: remove use of __attribute__((pcs("aapcs"))) on WindowsSaleem Abdulrasool2016-04-201-5/+1
| | | | | | | | | Windows does not honour the __attribute__((pcs)) on ARM. Although this will result in ABI mismatches, compiler-rt should largely be unneeded for resolving dependencies as we generate MS ABI compliant library calls now for the most part. llvm-svn: 266891
* fix a gcc warningNico Weber2015-12-221-1/+1
| | | | llvm-svn: 256256
* 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
* builtins: define and use ALWAYS_INLINESaleem Abdulrasool2015-10-111-0/+2
| | | | | | Abstract out the always inline spelling similar to ASAN. NFC. llvm-svn: 249986
* 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: 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: Use MSVC-equivalents of attributesSaleem Abdulrasool2015-10-061-1/+11
| | | | | | | | This allows us to build the builtins using MSVC. NFC. Patch by Tee Hao Wei! llvm-svn: 249375
* builtins: restrict aliasesSaleem Abdulrasool2015-08-211-0/+4
| | | | | | | | MachO and COFF do not support aliases. Restrict the alias to ELF targets. This should also fix the Darwin build. Make the FNALIAS usage an error on non-ELF targets. llvm-svn: 245669
* [compiler-rt] Add libgcc compatibility aliases for __cmp{s,d,f}f2.Josh Gao2015-08-211-0/+3
| | | | | | | | | | Reviewers: compnerd Subscribers: asl, llvm-commits Differential Revision: http://reviews.llvm.org/D12091 llvm-svn: 245663
* builtins: mark functions as aapcs on WindowsSaleem Abdulrasool2015-05-221-1/+5
| | | | | | | | Windows does not use AAPCS, but rather AAPCS-VFP, and thus the functions which are assumed to be AAPCS will cause invalid argument setup. Ensure that the functions are marked as AAPCS. llvm-svn: 238056
* builtins: remove unnecessary COMPILER_RT_EXPORTSaleem Abdulrasool2014-09-061-8/+2
| | | | | | | This macro did not do anything at this point, and is not particularly needed for Windows unless building the builtins as a shared library. NFC. llvm-svn: 217321
* builtins: add missing fileSaleem Abdulrasool2014-05-121-2/+8
| | | | | | | | Add (missing) definition of COMPILER_RT_EXPORT which is meant to be used for decorating functions that are meant to be exported. This is useful for platforms where exports and imports must be decorated explicitly (i.e. Windows). llvm-svn: 208593
* Move __clzti2 into 128bit fragment.Joerg Sonnenberger2014-03-011-2/+1
| | | | llvm-svn: 202593
* Consistently use COMPILER_RT_ABI for all public symbols.Joerg Sonnenberger2014-03-011-0/+15
| | | | | | Move prototypes into headers and fix a few inconsistencies. llvm-svn: 202591
* Move original compiler-rt functions (libgcc replacement) to lib/builtins ↵Alexey Samsonov2014-02-141-0/+56
directory llvm-svn: 201393
OpenPOWER on IntegriCloud