llvm-project/compiler-rt/cmake
Kostya Kortchinsky b39dff4551 [scudo] Refactor of CRC32 and ARM runtime CRC32 detection
Summary:
ARM & AArch64 runtime detection for hardware support of CRC32 has been added
via check of the AT_HWVAL auxiliary vector.

Following Michal's suggestions in D28417, the CRC32 code has been further
changed and looks better now. When compiled with full relro (which is strongly
suggested to benefit from additional hardening), the weak symbol for
computeHardwareCRC32 is read-only and the assembly generated is fairly clean
and straight forward. As suggested, an additional optimization is to skip
the runtime check if SSE 4.2 has been enabled globally, as opposed to only
for scudo_crc32.cpp.

scudo_crc32.h has no purpose anymore and was removed.

Reviewers: alekseyshl, kcc, rengolin, mgorny, phosek

Reviewed By: rengolin, mgorny

Subscribers: aemerson, rengolin, llvm-commits

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

llvm-svn: 292409
2017-01-18 17:11:17 +00:00
..
Modules Reland "[CMake][compiler-rt] Mark libcxx build for tsan as standalone" 2017-01-16 00:33:02 +00:00
caches [CMake] Updating Apple CMake cache file 2016-04-28 18:24:29 +00:00
base-config-ix.cmake [compiler-rt] Support building builtins for a single target 2016-12-12 23:14:02 +00:00
builtin-config-ix.cmake builtins: switch to c11 from c99 2016-11-29 02:31:40 +00:00
config-ix.cmake [scudo] Refactor of CRC32 and ARM runtime CRC32 detection 2017-01-18 17:11:17 +00:00