1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00
llvm-mirror/include/llvm
Duncan P. N. Exon Smith 1e4b2c7632 ADT: Fix SmallPtrSet iterators in reverse mode
Fix SmallPtrSet::iterator behaviour and creation ReverseIterate is true.

  - Any function that creates an iterator now uses
    SmallPtrSet::makeIterator, which creates an iterator that
    dereferences to the given pointer.

  - In reverse-iterate mode, initialze iterator::End with "CurArray"
    instead of EndPointer.

  - In reverse-iterate mode, the current node is iterator::Buffer[-1].
    iterator::operator* and SmallPtrSet::makeIterator are the only ones
    that need to know.

  - Fix the assertions for reverse-iterate mode.

This fixes the tests Danny B added in r297182, and adds a couple of
others to confirm that dereferencing does the right thing, regardless of
how the iterator was found, and that iteration works correctly from each
return from find.

llvm-svn: 297234
2017-03-07 21:56:32 +00:00
..
ADT ADT: Fix SmallPtrSet iterators in reverse mode 2017-03-07 21:56:32 +00:00
Analysis [SLP] Revert r296863 due to miscompiles. 2017-03-06 23:54:51 +00:00
AsmParser
Bitcode IR: Function summary extensions for whole-program devirtualization pass. 2017-02-10 22:29:38 +00:00
CodeGen Revert r297177: Change LLT constructor string into an LLT-based object ... 2017-03-07 19:21:23 +00:00
Config remove Cmake option for LLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING 2017-03-07 00:51:07 +00:00
DebugInfo [Support] Move Stream library from MSF -> Support. 2017-03-02 20:52:51 +00:00
Demangle Add an c++ itanium demangler to llvm. 2016-09-06 19:16:48 +00:00
ExecutionEngine [Windows] Remove the #include <eh.h> hack. 2017-03-03 20:21:59 +00:00
IR [coroutines] Add handling for unwind coro.ends 2017-03-07 21:00:54 +00:00
IRReader
LibDriver
LineEditor
Linker IRMover: Merge flags LinkModuleInlineAsm and IsPerformingImport. 2017-02-03 17:01:14 +00:00
LTO LTO: When creating a local cache, create the cache directory if it does not already exist. 2017-03-02 02:02:38 +00:00
MC MC: De-duplicate the object streamer implementations of EmitFileDirective into MCObjectStreamer. NFCI. 2017-03-03 21:22:06 +00:00
Object Actually add error handling to unpacking the dyld compact bind and 2017-02-28 21:47:07 +00:00
ObjectYAML [ObjectYAML] Add support for DWARF5 Unit header 2017-03-07 18:50:58 +00:00
Option Generalize ArgList::AddAllArgs more 2016-09-29 19:47:58 +00:00
Passes Add call branch annotation for ICP promoted direct call in SamplePGO mode. 2017-02-23 22:15:18 +00:00
ProfileData Remove the sample pgo annotation heuristic that uses call count to annotate basic block count. 2017-03-06 17:49:59 +00:00
Support [AArch64] Vulcan is now ThunderXT99 2017-03-07 19:42:40 +00:00
TableGen Cleanup dump() functions. 2017-01-28 02:02:38 +00:00
Target [GlobalISel] Translate floating-point negation 2017-03-07 18:03:28 +00:00
Transforms [LoopUnrolling] Re-prioritize Peeling and Partial unrolling 2017-03-03 18:19:10 +00:00
XRay [XRAY] [x86_64] Adding a Flight Data filetype reader to the llvm-xray Trace implementation. 2017-02-17 01:47:16 +00:00
CMakeLists.txt
InitializePasses.h [Outliner] Fixed Asan bot failure in r296418 2017-03-06 21:31:18 +00:00
LinkAllIR.h Remove unused #includes of TimeValue.h. NFC. 2016-10-24 14:00:26 +00:00
LinkAllPasses.h [Guards] Introduce loop-predication pass 2017-01-25 16:00:44 +00:00
module.modulemap Revert r297177: Change LLT constructor string into an LLT-based object ... 2017-03-07 19:21:23 +00:00
module.modulemap.build Fix module map to create a module for the configured header Config/abi-breaking.h 2016-12-01 19:08:38 +00:00
Pass.h Reverted: Track validity of pass results 2017-01-15 10:23:18 +00:00
PassAnalysisSupport.h Reverted: Track validity of pass results 2017-01-15 10:23:18 +00:00
PassInfo.h [llvm] Remove duplicate header from PassInfo.h 2016-11-11 02:01:32 +00:00
PassRegistry.h
PassSupport.h Revamp llvm::once_flag to be closer to std::once_flag 2017-02-05 21:13:06 +00:00