mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-07 11:33:44 +00:00
24c79ab7cc
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 |
||
---|---|---|
.. | ||
ADT | ||
Analysis | ||
AsmParser | ||
Bitcode | ||
CodeGen | ||
Config | ||
DebugInfo | ||
ExecutionEngine | ||
IR | ||
IRReader | ||
LineEditor | ||
Linker | ||
LTO | ||
MC | ||
Object | ||
Option | ||
ProfileData | ||
Support | ||
TableGen | ||
Target | ||
Transforms | ||
CMakeLists.txt | ||
InitializePasses.h | ||
LinkAllIR.h | ||
LinkAllPasses.h | ||
module.modulemap | ||
module.modulemap.build | ||
Pass.h | ||
PassAnalysisSupport.h | ||
PassInfo.h | ||
PassRegistry.h | ||
PassSupport.h |