llvm-6502/lib/CodeGen/AsmPrinter
Pete Cooper 639ec3da92 Reapply "Add reverse(ContainerTy) range adapter."
This reverts commit r243567, which ultimately reapplies r243563.

The fix here was to use std::enable_if for overload resolution.  Thanks to David
Blaikie for lots of help on this, and for the extra tests!

Original commit message follows:

For cases where we needed a foreach loop in reverse over a container,
we had to do something like

 for (const GlobalValue *GV : make_range(TypeInfos.rbegin(),
                                         TypeInfos.rend())) {

This provides a convenience method which shortens this to

 for (const GlobalValue *GV : reverse(TypeInfos)) {

There are 2 versions of this, with a preference to the rbegin() version.

The first uses rbegin() and rend() to construct an iterator_range.

The second constructs an iterator_range from the begin() and end() methods
wrapped in std::reverse_iterator's.

Reviewed by David Blaikie.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243581 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-29 22:19:09 +00:00
..
AddressPool.cpp
AddressPool.h
ARMException.cpp Reapply "Add reverse(ContainerTy) range adapter." 2015-07-29 22:19:09 +00:00
AsmPrinter.cpp
AsmPrinterDwarf.cpp
AsmPrinterHandler.h
AsmPrinterInlineAsm.cpp
ByteStreamer.h
CMakeLists.txt
DbgValueHistoryCalculator.cpp
DbgValueHistoryCalculator.h
DebugLocEntry.h
DebugLocStream.cpp
DebugLocStream.h
DIE.cpp
DIEHash.cpp
DIEHash.h
DwarfAccelTable.cpp
DwarfAccelTable.h
DwarfCFIException.cpp
DwarfCompileUnit.cpp
DwarfCompileUnit.h
DwarfDebug.cpp
DwarfDebug.h
DwarfException.h
DwarfExpression.cpp
DwarfExpression.h
DwarfFile.cpp
DwarfFile.h
DwarfStringPool.cpp
DwarfStringPool.h
DwarfUnit.cpp
DwarfUnit.h
EHStreamer.cpp
EHStreamer.h
ErlangGCPrinter.cpp
LLVMBuild.txt
Makefile
OcamlGCPrinter.cpp
WinCodeViewLineTables.cpp
WinCodeViewLineTables.h
WinException.cpp
WinException.h