1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-24 21:42:54 +02:00
llvm-mirror/include/llvm
Chandler Carruth 238121e8d2 [ADT] Add a generic concatenating iterator and range (take 2).
This recommits r290512 that was reverted when MSVC failed to compile it. Since
then I've played with various approaches using rextester.com (where I was able
to reproduce the failure) and think that I have a solution thanks in part to
the help of Dave Blaikie! It seems MSVC just has a defective `decltype` in this
version. Manually writing out the type seems to do the trick, even though it is
.... quite complicated.

Original commit message:
This allows both defining convenience iterator/range accessors on types
which walk across N different independent ranges within the object, and
more direct and simple usages with range based for loops such as shown
in the unittest. The same facilities are used for both. They end up
quite small and simple as it happens.

I've also switched an iterator on `Module` to use this. I would like to
add another convenience iterator that includes even more sequences as
part of it and seeing this one already present motivated me to actually
abstract it away and introduce a general utility.

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

llvm-svn: 290528
2016-12-25 23:41:14 +00:00
..
ADT [ADT] Add a generic concatenating iterator and range (take 2). 2016-12-25 23:41:14 +00:00
Analysis [MemDep] NFC changes 2016-12-23 13:13:32 +00:00
AsmParser
Bitcode [DebugInfo] Added support for Checksum debug info feature. 2016-12-25 10:12:09 +00:00
CodeGen [GlobalISel] Refactor the logic to constraint registers. 2016-12-22 21:56:19 +00:00
Config Re-commit r289184, "Support: Use a 64-bit seek in raw_fd_ostream::seek()." with a configure-time check for lseek64. 2016-12-09 05:20:43 +00:00
DebugInfo [ObjectYAML] Support for DWARF debug_info section 2016-12-22 22:44:27 +00:00
Demangle Add an c++ itanium demangler to llvm. 2016-09-06 19:16:48 +00:00
ExecutionEngine [Orc][RPC] Add a ParallelCallGroup utility for dispatching and waiting on 2016-12-25 21:55:05 +00:00
IR [ADT] Add a generic concatenating iterator and range (take 2). 2016-12-25 23:41:14 +00:00
IRReader [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
LibDriver [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
LineEditor Apply clang-tidy's misc-move-constructor-init throughout LLVM. 2016-05-27 14:27:24 +00:00
Linker [ThinLTO] Import only necessary DICompileUnit fields 2016-12-12 16:09:30 +00:00
LTO Pass sample pgo flags to thinlto. 2016-12-16 16:48:46 +00:00
MC Implement LaneBitmask::any(), use it to replace !none(), NFCI 2016-12-16 19:11:56 +00:00
Object Fix a bugs with using some Mach-O command line flags like "-arch armv7m". 2016-12-16 22:54:02 +00:00
ObjectYAML [ObjectYAML] Support for DWARF debug_info section 2016-12-22 22:44:27 +00:00
Option Generalize ArgList::AddAllArgs more 2016-09-29 19:47:58 +00:00
Passes [PM] Add support for building a default AA pipeline to the PassBuilder. 2016-12-23 20:38:19 +00:00
ProfileData Fix comment typos. NFC. 2016-11-20 13:47:59 +00:00
Support Add newline to end of file to quiet warnings. 2016-12-25 18:41:47 +00:00
TableGen TableGen: Some more std::string->StringInit* replacements 2016-12-05 07:35:13 +00:00
Target Change the interface of TLI.isMultiStoresCheaperThanBitsMerge. 2016-12-22 19:38:22 +00:00
Transforms [MemorySSA] Define a restricted upward AccessList splice. 2016-12-25 23:34:07 +00:00
CMakeLists.txt
InitializePasses.h [PM] Remove vestiges of NoAA. NFCI. 2016-12-24 16:14:05 +00:00
LinkAllIR.h Remove unused #includes of TimeValue.h. NFC. 2016-10-24 14:00:26 +00:00
LinkAllPasses.h [GVN] Initial check-in of a new global value numbering algorithm. 2016-12-22 16:03:48 +00:00
module.modulemap [ORC] Work around an apparent modules/linkage issue. 2016-11-15 02:14:57 +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 Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
PassAnalysisSupport.h Apply clang-tidy's modernize-loop-convert to most of lib/Transforms. 2016-06-26 12:28:59 +00:00
PassInfo.h [llvm] Remove duplicate header from PassInfo.h 2016-11-11 02:01:32 +00:00
PassRegistry.h [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
PassSupport.h Use StringRef in Pass Info/Support API (NFC) 2016-10-01 04:03:30 +00:00