Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1 |
|
#
0c6ee1f9 |
| 27-Sep-2024 |
Victor Campos <victor.campos@arm.com> |
[ADT] Add more useful methods to SmallSet API (#108601)
This patch adds useful methods to the SmallSet API:
- Constructor that takes pair of iterators.
- Constructor that takes a range.
- Co
[ADT] Add more useful methods to SmallSet API (#108601)
This patch adds useful methods to the SmallSet API:
- Constructor that takes pair of iterators.
- Constructor that takes a range.
- Constructor that takes an initializer list.
- Copy constructor.
- Move constructor.
- Copy assignment operator.
- Move assignment operator.
show more ...
|
#
2a29d24b |
| 25-Sep-2024 |
Victor Campos <victor.campos@arm.com> |
[ADT] Use perfect forwarding in SmallSet::insert() (#108590)
Previously this method took arguments by const-ref. This patch changes
the implementation to take perfectly forwarded arguments in the f
[ADT] Use perfect forwarding in SmallSet::insert() (#108590)
Previously this method took arguments by const-ref. This patch changes
the implementation to take perfectly forwarded arguments in the form of
a universal reference. Now, the insertion method will take advantage of
arguments passed as rvalue, potentially leading to performance
improvements.
show more ...
|
Revision tags: llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, working, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3 |
|
#
8719faaf |
| 15-Aug-2022 |
Zijia Zhu <piggynl@outlook.com> |
[ADT] Make SmallSet::insert(const T &) return const_iterator
This patch makes `SmallSet::insert(const T &)` return `std::pair<const_iterator, bool>` instead of `std::pair<NoneType, bool>`. This will
[ADT] Make SmallSet::insert(const T &) return const_iterator
This patch makes `SmallSet::insert(const T &)` return `std::pair<const_iterator, bool>` instead of `std::pair<NoneType, bool>`. This will exactly match std::set's behavior and make deduplicating items with SmallSet easier.
Reviewed By: dblaikie, lattner
Differential Revision: https://reviews.llvm.org/D131549
show more ...
|
Revision tags: llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init |
|
#
aba43035 |
| 23-Jul-2022 |
Dmitri Gribenko <gribozavr@gmail.com> |
Use llvm::sort instead of std::sort where possible
llvm::sort is beneficial even when we use the iterator-based overload, since it can optionally shuffle the elements (to detect non-determinism). Ho
Use llvm::sort instead of std::sort where possible
llvm::sort is beneficial even when we use the iterator-based overload, since it can optionally shuffle the elements (to detect non-determinism). However llvm::sort is not usable everywhere, for example, in compiler-rt.
Reviewed By: nhaehnle
Differential Revision: https://reviews.llvm.org/D130406
show more ...
|
Revision tags: llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1, llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1 |
|
#
dd4426b9 |
| 17-Jul-2020 |
David Blaikie <dblaikie@gmail.com> |
[llvm] Add contains(KeyType) -> bool methods to SmallSet
Matches C++20 API addition.
Differential Revision: https://reviews.llvm.org/D83449
|
Revision tags: llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2, llvmorg-10.0.1-rc1, llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4, llvmorg-10.0.0-rc3, llvmorg-10.0.0-rc2, llvmorg-10.0.0-rc1, llvmorg-11-init, llvmorg-9.0.1, llvmorg-9.0.1-rc3, llvmorg-9.0.1-rc2, llvmorg-9.0.1-rc1 |
|
#
4aee4c99 |
| 24-Oct-2019 |
Fedor Sergeev <fedor.sergeev@azul.com> |
[ADT] add equality operator for SmallSet
Makes it easier to migrate existing code that uses std::set.
Reviewed By: fhahn Differential Revision: https://reviews.llvm.org/D69417
|
Revision tags: llvmorg-9.0.0, llvmorg-9.0.0-rc6, llvmorg-9.0.0-rc5, llvmorg-9.0.0-rc4, llvmorg-9.0.0-rc3, llvmorg-9.0.0-rc2, llvmorg-9.0.0-rc1, llvmorg-10-init, llvmorg-8.0.1, llvmorg-8.0.1-rc4, llvmorg-8.0.1-rc3, llvmorg-8.0.1-rc2, llvmorg-8.0.1-rc1, llvmorg-8.0.0, llvmorg-8.0.0-rc5, llvmorg-8.0.0-rc4, llvmorg-8.0.0-rc3, llvmorg-7.1.0, llvmorg-7.1.0-rc1, llvmorg-8.0.0-rc2, llvmorg-8.0.0-rc1 |
|
#
2946cd70 |
| 19-Jan-2019 |
Chandler Carruth <chandlerc@gmail.com> |
Update the file headers across all of the LLVM projects in the monorepo to reflect the new license.
We understand that people may be surprised that we're moving the header entirely to discuss the ne
Update the file headers across all of the LLVM projects in the monorepo 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.
llvm-svn: 351636
show more ...
|
Revision tags: llvmorg-7.0.1, llvmorg-7.0.1-rc3, llvmorg-7.0.1-rc2, llvmorg-7.0.1-rc1 |
|
#
60243ca4 |
| 31-Oct-2018 |
Florian Hahn <florian.hahn@arm.com> |
[ADT] Remove illegal comparison of singular iterators from SmallSetTest
This removes the assertion that a copy of a moved-from SmallSetIterator equals the original, which is illegal due to SmallSetI
[ADT] Remove illegal comparison of singular iterators from SmallSetTest
This removes the assertion that a copy of a moved-from SmallSetIterator equals the original, which is illegal due to SmallSetIterator including an instance of a standard `std::set` iterator.
C++ [iterator.requirements.general] states that comparing singular iterators has undefined result:
> Iterators can also have singular values that are not associated with > any sequence. [...] Results of most expressions are undefined for > singular values; the only exceptions are destroying an iterator that > holds a singular value, the assignment of a non-singular value to an > iterator that holds a singular value, and, for iterators that satisfy > the Cpp17DefaultConstructible requirements, using a value-initialized > iterator as the source of a copy or move operation.
This assertion triggers the following error in the GNU C++ Library in debug mode under EXPENSIVE_CHECKS:
/usr/include/c++/8.2.1/debug/safe_iterator.h:518: Error: attempt to compare a singular iterator to a singular iterator.
Objects involved in the operation: iterator "lhs" @ 0x0x7fff86420670 { state = singular; } iterator "rhs" @ 0x0x7fff86420640 { state = singular; }
Patch by Eugene Sharygin.
Reviewers: fhahn, dblaikie, chandlerc
Reviewed By: fhahn, dblaikie
Differential Revision: https://reviews.llvm.org/D53793
llvm-svn: 345712
show more ...
|
Revision tags: llvmorg-7.0.0, llvmorg-7.0.0-rc3, llvmorg-7.0.0-rc2, llvmorg-7.0.0-rc1 |
|
#
6698f9b7 |
| 24-Jul-2018 |
Florian Hahn <florian.hahn@arm.com> |
Recommit r334887: [SmallSet] Add SmallSetIterator.
Updated to make sure we properly construct/destroy SetIter if it has a non-trivial ctors/dtors, like in MSVC.
llvm-svn: 337818
|
#
4a53bc63 |
| 17-Jul-2018 |
Florian Hahn <florian.hahn@arm.com> |
Revert rL337292 due to another MSVC STL problem.
llvm-svn: 337303
|
#
c491c2b9 |
| 17-Jul-2018 |
Florian Hahn <florian.hahn@arm.com> |
Recommit r334887: [SmallSet] Add SmallSetIterator.
Spell out destructor, copy/move constructor and assignment operators for MSVC STL, where set<T>::const_iterator is not trivially copy constructible
Recommit r334887: [SmallSet] Add SmallSetIterator.
Spell out destructor, copy/move constructor and assignment operators for MSVC STL, where set<T>::const_iterator is not trivially copy constructible.
llvm-svn: 337292
show more ...
|
#
82cebf95 |
| 12-Jul-2018 |
Galina Kistanova <gkistanova@gmail.com> |
Reverted r336805 as it broke llvm-clang-x86_64-expensive-checks-win build bot
llvm-svn: 336923
|
#
b4379c84 |
| 11-Jul-2018 |
Florian Hahn <florian.hahn@arm.com> |
Recommit r334887: [SmallSet] Add SmallSetIterator.
This version now uses the subset of is_trivially_XXX provided by GCC 4.8 and llvm/Support/type_traits.h
llvm-svn: 336805
|
#
0939fea8 |
| 16-Jun-2018 |
Florian Hahn <florian.hahn@arm.com> |
Revert r334887, as GCC 4.8 does not have is_trivially_copy_constructible & co
llvm-svn: 334889
|
#
18714d6a |
| 16-Jun-2018 |
Florian Hahn <florian.hahn@arm.com> |
[SmallSet] Add SmallSetIterator.
This patch adds a simple const_iterator implementation for SmallSet by delegating to either a SmallVector::const_iterator or std::set::const_iterator, depending on w
[SmallSet] Add SmallSetIterator.
This patch adds a simple const_iterator implementation for SmallSet by delegating to either a SmallVector::const_iterator or std::set::const_iterator, depending on which storage is used by the SmallSet.
Reviewers: dblaikie, craig.topper
Reviewed By: dblaikie
Differential Revision: https://reviews.llvm.org/D47942
llvm-svn: 334887
show more ...
|
Revision tags: llvmorg-6.0.1, llvmorg-6.0.1-rc3 |
|
#
79510be7 |
| 08-Jun-2018 |
Florian Hahn <florian.hahn@arm.com> |
[SmallSet] Add some simple unit tests.
Reviewers: craig.topper, dblaikie
Reviewed By: dblaikie
Differential Revision: https://reviews.llvm.org/D47940
llvm-svn: 334321
|