llvm-6502/include/llvm
Benjamin Kramer 24c79ab7cc ArrayRef: Put back std::equal for operator== with a check for the empty ArrayRefs
This has the nice property of compiling down to memcmp when feasible. An empty
ArrayRef can have a nullptr in its Data field. I didn't find anything in the
standard speaking against std::equal(nullptr, nullptr, nullptr) begin valid but
MSVC asserts. The way libstdc++ lowers std::equal down to memcmp also makes
invoking std::equal with a nullptr undefined behavior so checking is the only
way to be safe.

The extra check doesn't cost us perf either because we're essentially peeling
the loop header away from the rotated loop.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230920 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-01 23:35:20 +00:00
..
ADT ArrayRef: Put back std::equal for operator== with a check for the empty ArrayRefs 2015-03-01 23:35:20 +00:00
Analysis Another missing include for MSVC. 2015-03-01 22:34:04 +00:00
AsmParser
Bitcode
CodeGen [PBQP] Do not add an edge between nodes with totally disjoint allowed registers 2015-03-01 20:39:34 +00:00
Config
DebugInfo Add missing includes. make_unique proliferated everywhere. 2015-03-01 21:28:53 +00:00
ExecutionEngine
IR std::function is part of <functional>, not <utility> 2015-03-01 21:49:21 +00:00
IRReader
LineEditor
Linker
LTO [LTO API] fix memory leakage introduced at r230290. 2015-02-25 21:20:53 +00:00
MC Centralize handling of the eh_begin and eh_end labels. 2015-02-27 18:18:39 +00:00
Object
Option
ProfileData InstrProf: Simplify the construction of BinaryCoverageReader 2015-02-26 20:06:28 +00:00
Support Make VTs and UnicodeCharSet ctors constexpr if the compiler supports it. 2015-03-01 18:10:07 +00:00
TableGen
Target Reverted 230471 - gather scatter handling in table gen. 2015-03-01 08:23:41 +00:00
Transforms Add missing includes. make_unique proliferated everywhere. 2015-03-01 21:28:53 +00:00
CMakeLists.txt
InitializePasses.h Remove the Forward Control Flow Integrity pass and its dependencies. 2015-02-27 19:03:38 +00:00
LinkAllIR.h
LinkAllPasses.h Remove the Forward Control Flow Integrity pass and its dependencies. 2015-02-27 19:03:38 +00:00
module.modulemap [modules] Add include/llvm/IR/DebugInfoFlags.def to the textual headers list. 2015-02-25 01:44:09 +00:00
module.modulemap.build
Pass.h
PassAnalysisSupport.h
PassInfo.h
PassRegistry.h
PassSupport.h