diff options
author | Eugene Leviant <eleviant@accesssoftek.com> | 2019-04-08 11:37:20 +0000 |
---|---|---|
committer | Eugene Leviant <eleviant@accesssoftek.com> | 2019-04-08 11:37:20 +0000 |
commit | 03d28a4490ff9cefedd3597c6ac3e14e523e6e13 (patch) | |
tree | b7b9a7675d83f42ab506f70db6576bce8773ad55 /llvm/lib/Support | |
parent | ad69bd687008c2daa46cd6dafb58cb9e95e7eedb (diff) | |
download | bcm5719-llvm-03d28a4490ff9cefedd3597c6ac3e14e523e6e13.tar.gz bcm5719-llvm-03d28a4490ff9cefedd3597c6ac3e14e523e6e13.zip |
Reverting r357901 as fails to build on some of the buildbots
llvm-svn: 357902
Diffstat (limited to 'llvm/lib/Support')
-rw-r--r-- | llvm/lib/Support/CMakeLists.txt | 1 | ||||
-rw-r--r-- | llvm/lib/Support/CRC.cpp | 68 |
2 files changed, 0 insertions, 69 deletions
diff --git a/llvm/lib/Support/CMakeLists.txt b/llvm/lib/Support/CMakeLists.txt index 7dfa97c5356..c5846ad6c81 100644 --- a/llvm/lib/Support/CMakeLists.txt +++ b/llvm/lib/Support/CMakeLists.txt @@ -76,7 +76,6 @@ add_llvm_library(LLVMSupport CodeGenCoverage.cpp CommandLine.cpp Compression.cpp - CRC.cpp ConvertUTF.cpp ConvertUTFWrapper.cpp CrashRecoveryContext.cpp diff --git a/llvm/lib/Support/CRC.cpp b/llvm/lib/Support/CRC.cpp deleted file mode 100644 index 6f8edf6d484..00000000000 --- a/llvm/lib/Support/CRC.cpp +++ /dev/null @@ -1,68 +0,0 @@ -//===--- CRC.cpp - Cyclic Redundancy Check implementation -----------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file implements llvm::crc32 function. -// -//===----------------------------------------------------------------------===// - -#include "llvm/Support/CRC.h" -#include "llvm/Config/config.h" -#include "llvm/ADT/StringRef.h" -#include "llvm/Support/Threading.h" -#include <array> - -using namespace llvm; - -#if LLVM_ENABLE_ZLIB == 0 || !HAVE_ZLIB_H -using CRC32Table = std::array<uint32_t, 256>; - -static void initCRC32Table(CRC32Table &Tbl) { - auto Shuffle = [](uint32_t V) { - return (V & 1) ? (V >> 1) ^ 0xEDB88320U : V >> 1; - }; - - for (size_t I = 0; I < Tbl.size(); ++I) { - uint32_t V = Shuffle(I); - V = Shuffle(V); - V = Shuffle(V); - V = Shuffle(V); - V = Shuffle(V); - V = Shuffle(V); - V = Shuffle(V); - Tbl[I] = Shuffle(V); - } -} - -uint32_t llvm::crc32(uint32_t CRC, StringRef S) { - static llvm::once_flag InitFlag; - static CRC32Table Tbl; - llvm::call_once(InitFlag, initCRC32Table, Tbl); - - const uint8_t *P = reinterpret_cast<const uint8_t *>(S.data()); - size_t Len = S.size(); - CRC ^= 0xFFFFFFFFU; - for (; Len >= 8; Len -= 8) { - CRC = Tbl[(CRC ^ *P++) & 0xFF] ^ (CRC >> 8); - CRC = Tbl[(CRC ^ *P++) & 0xFF] ^ (CRC >> 8); - CRC = Tbl[(CRC ^ *P++) & 0xFF] ^ (CRC >> 8); - CRC = Tbl[(CRC ^ *P++) & 0xFF] ^ (CRC >> 8); - CRC = Tbl[(CRC ^ *P++) & 0xFF] ^ (CRC >> 8); - CRC = Tbl[(CRC ^ *P++) & 0xFF] ^ (CRC >> 8); - CRC = Tbl[(CRC ^ *P++) & 0xFF] ^ (CRC >> 8); - CRC = Tbl[(CRC ^ *P++) & 0xFF] ^ (CRC >> 8); - } - while (Len--) - CRC = Tbl[(CRC ^ *P++) & 0xFF] ^ (CRC >> 8); - return CRC ^ 0xFFFFFFFFU; -} -#else -#include <zlib.h> -uint32_t llvm::crc32(uint32_t CRC, StringRef S) { - return ::crc32(CRC, (const Bytef *)S.data(), S.size()); -} -#endif |