1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00
llvm-mirror/include/llvm/ADT
Mandeep Singh Grang 1c09e88fe4 [ADT] Shuffle containers before sorting to uncover non-deterministic behavior
Summary:
std::sort and array_pod_sort both use non-stable sorting algorithms.
This means that the relative order of elements with the same key is
undefined. This patch is an attempt to uncover such scenarios by
randomly shuffling all containers before sorting, if EXPENSIVE_CHECKS
is enabled.

Here's the bugzilla for this: https://bugs.llvm.org/show_bug.cgi?id=35135

Reviewers: dblaikie, dexonsmith, chandlerc, efriedma, RKSimon

Reviewed By: RKSimon

Subscribers: fhahn, davide, RKSimon, vsk, mgorny, llvm-commits

Differential Revision: https://reviews.llvm.org/D39245

llvm-svn: 327219
2018-03-10 18:59:14 +00:00
..
AllocatorList.h [ADT] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-13 22:11:49 +00:00
APFloat.h [aarch64] Support APInt and APFloat in ImmLeaf subclasses and make AArch64 use them. 2017-10-13 20:42:18 +00:00
APInt.h Fixed spelling mistake. NFCI. 2018-01-08 17:16:59 +00:00
APSInt.h [APInt] Add ashrInPlace method and rewrite ashr to make a copy and then call ashrInPlace. 2017-04-24 17:18:47 +00:00
ArrayRef.h Revert "Add a value_type to ArrayRef." 2018-01-18 07:26:34 +00:00
BitmaskEnum.h Force a semicolon at the end of the LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE() macro. 2016-07-13 23:52:19 +00:00
BitVector.h Report fatal error in the case of out of memory 2018-02-20 05:41:26 +00:00
BreadthFirstIterator.h [ADT] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-13 22:11:49 +00:00
CachedHashString.h [ADT] Don't rely on string literals not being convertible to non-const char* in CachedHashString. 2016-10-21 22:10:23 +00:00
DAGDeltaAlgorithm.h [ADT] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-13 22:11:49 +00:00
DeltaAlgorithm.h [ADT] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-13 22:11:49 +00:00
DenseMap.h DenseMap.h:capacity_in_bytes Don't mark header functions as file-scope static 2017-10-24 17:29:11 +00:00
DenseMapInfo.h [ADT] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-13 22:11:49 +00:00
DenseSet.h [ADT] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-13 22:11:49 +00:00
DepthFirstIterator.h [ADT] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-13 22:11:49 +00:00
edit_distance.h Reduce memory usage of ComputeEditDistance() by (almost) 50% 2015-07-13 21:33:21 +00:00
EpochTracker.h Add link-time detection of LLVM_ABI_BREAKING_CHECKS mismatch 2016-11-28 22:23:53 +00:00
EquivalenceClasses.h [NFC] Add missing unit tests for EquivalenceClasses 2017-11-27 11:20:58 +00:00
FoldingSet.h [ADT] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-28 00:24:26 +00:00
GraphTraits.h [GraphTraits] Add support for iterating over children edges. 2018-02-01 18:53:23 +00:00
Hashing.h [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
ilist_base.h [ADT] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-13 22:11:49 +00:00
ilist_iterator.h [ADT] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-13 22:11:49 +00:00
ilist_node_base.h ADT: Add sentinel tracking and custom tags to ilists 2016-09-11 16:20:53 +00:00
ilist_node_options.h Add link-time detection of LLVM_ABI_BREAKING_CHECKS mismatch 2016-11-28 22:23:53 +00:00
ilist_node.h [ADT] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-13 22:11:49 +00:00
ilist.h [ADT, IR] Fix some Clang-tidy modernize-use-equals-delete and Include What You Use warnings; other minor fixes (NFC). 2016-12-07 22:06:02 +00:00
ImmutableList.h [ADT] Partial re-commit of r303383. Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-14 21:42:24 +00:00
ImmutableMap.h [ADT] Partial re-commit of r303383. Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-14 21:42:24 +00:00
ImmutableSet.h [ADT] Partial re-commit of r303383. Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-14 21:42:24 +00:00
IndexedMap.h [ADT] Partial re-commit of r303383. Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-14 21:42:24 +00:00
IntEqClasses.h IntEqClasses: Let join() return the new leader 2016-01-08 01:16:39 +00:00
IntervalMap.h [ADT] Partial re-commit of r303383. Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-14 21:42:24 +00:00
IntrusiveRefCntPtr.h [ADT] Partial re-commit of r303383. Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-14 21:42:24 +00:00
iterator_range.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
iterator.h fix 80 column violation. 2017-09-29 22:46:22 +00:00
MapVector.h ADT: Make MapVector::value_type and MapVector::size_type public. NFC. 2018-03-09 22:52:22 +00:00
None.h Attempt to workaround MSVC build issue where I suspect an enum class constant 0 is considered a possible null pointer 2017-01-16 20:28:59 +00:00
Optional.h [ADT] Make moving Optional not reset the Optional it moves from. 2018-01-25 17:24:22 +00:00
PackedVector.h [ADT] Partial re-commit of r303383. Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-14 21:42:24 +00:00
PointerEmbeddedInt.h PointerLikeTypeTraits: class->struct & remove the base definition 2017-08-09 18:34:21 +00:00
PointerIntPair.h [ADT] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-28 00:24:26 +00:00
PointerSumType.h [ADT] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-28 00:24:26 +00:00
PointerUnion.h Use branch funnels for virtual calls when retpoline mitigation is enabled. 2018-03-09 19:11:44 +00:00
PostOrderIterator.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
PriorityQueue.h Use the range variant of find instead of unpacking begin/end 2016-08-11 22:21:41 +00:00
PriorityWorklist.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
SCCIterator.h [SCCIterator] Garbage collect dead code. NFC. 2017-06-06 23:41:12 +00:00
ScopedHashTable.h [ADT] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-13 22:11:49 +00:00
ScopeExit.h Give scope_exit helper correct move semantics 2018-01-25 16:55:48 +00:00
Sequence.h [ADT] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-05-16 23:10:25 +00:00
SetOperations.h [SimplifyCFG] Merge conditional stores 2015-11-04 15:28:04 +00:00
SetVector.h [ADT] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-05-16 23:10:25 +00:00
simple_ilist.h [ADT] Partial re-commit of r303383. Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-14 21:42:24 +00:00
SmallBitVector.h [ADT] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-13 22:11:49 +00:00
SmallPtrSet.h [SmallPtrSet] Add iterator epoch tracking. 2017-10-13 20:37:52 +00:00
SmallSet.h [ADT] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-13 22:11:49 +00:00
SmallString.h [ADT] Fix some Clang-tidy modernize-use-default and Include What You Use warnings; other minor fixes. 2016-11-23 00:30:24 +00:00
SmallVector.h SmallVector: fix use-after-poison MSAN error in destructor 2018-01-10 23:53:11 +00:00
SparseBitVector.h [ADT] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-05-16 23:10:25 +00:00
SparseMultiSet.h Report fatal error in the case of out of memory 2018-02-20 05:41:26 +00:00
SparseSet.h Report fatal error in the case of out of memory 2018-02-20 05:41:26 +00:00
Statistic.h Support resetting STATISTIC() values using llvm::ResetStatistics() 2018-03-08 02:36:25 +00:00
STLExtras.h [ADT] Shuffle containers before sorting to uncover non-deterministic behavior 2018-03-10 18:59:14 +00:00
StringExtras.h Re-land: "[Support] Replace HashString with djbHash." 2018-02-26 15:16:42 +00:00
StringMap.h Use size_t to represent the size of a StringMapEntry length and alignment rather than unsigned. 2018-01-11 18:47:15 +00:00
StringRef.h [ADT] Simplify and optimize StringSwitch 2018-02-26 18:41:26 +00:00
StringSet.h [ADT] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-05-16 23:10:25 +00:00
StringSwitch.h [ADT] Simplify and optimize StringSwitch 2018-02-26 18:41:26 +00:00
TinyPtrVector.h Ensure moved-from container is cleared on move 2017-12-11 19:22:59 +00:00
Triple.h [AMDGPU] Remove unused AMDOpenCL triple environment 2018-03-05 21:39:41 +00:00
Twine.h [ADT] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-28 00:24:26 +00:00
UniqueVector.h [ADT] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-05-16 23:10:25 +00:00
VariadicFunction.h