| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[libc] Add check for support and a test for libc SIMD helpers (#157746) Summary: This adds a few basic tests for the SIMD helpers and adds a CMake variable we can use to detect support. | 10 个月前 | |
| 2 年前 | ||
[libc][cpp] reverse_iterator support (#85702) Towards the goal of implementing __cxa_finalize (#85651) I'd like to be able to reverse iterate over cpp::arrays such as the one used in FixedVector. Implement the enough iterator support to be able to iterate a cpp::array in reverse, and add tests. Of note, reverse iterator's begin() refers to forward iterator's end() (and vice versa). When dereferenced (operator*), the reverse iterator returns a copy that's been pre-decremented (the underlying forward iterator is advanced). | 2 年前 | |
[libc] Add support for C++20 'atomic_ref' type (#132302) Summary: C++20 introduced an atomic reference type, which more easily wraps around the standard way of dealing with atomics. Instead of a dedicated type, it allows you to treat an existing allocation as atomic. This has no users yet, but I'm hoping to use it when I start finalizing my GPU allocation interface, as it will need to handle atomic values in-place that can't be done with placement new. Hopefully this is small enough that we can just keep it in-tree until it's needed, but I'll accept holding it here until it has a user. I added one extension to allow implicit conversion and CTAD. | 1 年前 | |
[libc][NFC] Add stdint.h proxy header to fix dependency issue with <stdint.h> includes. (#150303) https://github.com/llvm/llvm-project/issues/149993 | 1 年前 | |
[libc][NFC] Couple of small warning fixes (#67847) This patch fixes a couple of warnings when compiling with gcc 13: * CPP/type_traits_test.cpp: 'apply' overrides a member function but is not marked 'override' * UnitTest/LibcTest.cpp:98: control reaches end of non-void function * MPFRWrapper/MPFRUtils.cpp:75: control reaches end of non-void function * smoke/FrexpTest.h:92: backslash-newline at end of file * __support/float_to_string.h:118: comparison of unsigned expression in ‘>= 0’ is always true * test/src/__support/CPP/bitset_test.cpp:197: comparison of unsigned expression in ‘>= 0’ is always true --------- Signed-off-by: Mikhail R. Gadelha <mikhail@igalia.com> | 2 年前 | |
| 2 年前 | ||
[libc] Add -Wextra for libc tests (#153321) RE apply https://github.com/llvm/llvm-project/pull/133643/commits#top | 10 个月前 | |
| 2 年前 | ||
[libc] Replace MutexLock with cpp::lock_guard (#89340) This PR address issue #89002. #### Changes in this PR * Added a simple implementation of cpp::lock_guard (an equivalent of std::lock_guard) in libc/src/__support/CPP inspired by the libstdc++ implementation * Added tests for cpp::lock_guard in /libc/test/src/__support/CPP/mutex_test.cpp * Replaced all references to MutexLock with cpp::lock_guard --------- Co-authored-by: Guillaume Chatelet <gchatelet@google.com> | 2 年前 | |
[libc] Move in_use into OptionalStorage (#73569) The previous optional class would call the destructor on a non-trivially destructible object regardless of if it had already been reset. This patch fixes this by moving tracking for if the object exists into the internal storage class for optional. | 2 年前 | |
[libc] Update the memory helper functions for simd types (#160174) Summary: This unifies the interface to just be a bunch of load and store functions that optionally accept a mask / indices for gathers and scatters with masks. I had to rename this from load and store because it conflicts with the other version in op_generic. I might just work around that with a trait instead. | 10 个月前 | |
[libc] Mass replace enclosing namespace (#67032) This is step 4 of https://discourse.llvm.org/t/rfc-customizable-namespace-to-allow-testing-the-libc-when-the-system-libc-is-also-llvms-libc/73079 | 2 年前 | |
[libc] Mass replace enclosing namespace (#67032) This is step 4 of https://discourse.llvm.org/t/rfc-customizable-namespace-to-allow-testing-the-libc-when-the-system-libc-is-also-llvms-libc/73079 | 2 年前 | |
[libc] Mass replace enclosing namespace (#67032) This is step 4 of https://discourse.llvm.org/t/rfc-customizable-namespace-to-allow-testing-the-libc-when-the-system-libc-is-also-llvms-libc/73079 | 2 年前 | |
[libc] Change ctype to be encoding independent (#110574) The previous implementation of the ctype functions assumed ASCII. This patch changes to a switch/case implementation that looks odd, but actually is easier for the compiler to understand and optimize. | 1 年前 | |
[libc] Add simple 'tuple' type to CPP helpers (#157739) Summary: This patch adds support for cpp::tuple with basic support for creating and modifing tuples. | 10 个月前 | |
[libc] Added support for fixed-points in is_signed and is_unsigned. (#133371) Fixes #133365 ## Changes Done - Changed the signed checking to cpp struct is_signed : bool_constant<((is_fixed_point<T> || is_arithmetic_v<T>) && (T(-1) < T(0)))> in /libc/src/__support/CPP/type_traits/is_signed.h. Added check for fixed-points. - But, got to know that this will fail for unsigned _Fract or any unsigned fixed-point because unsigned _Fract can’t represent -1 in T(-1), while unsigned int can handle it via wrapping. - That's why I explicity added is_signed check for unsigned fixed-points. - Same changes to /libc/src/__support/CPP/type_traits/is_unsigned.h. - Added tests for is_signed and is_unsigned. | 1 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 10 个月前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 10 个月前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 10 个月前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 10 个月前 | ||
| 1 年前 |