llvm-project/compiler-rt/lib
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
..
BlocksRuntime Move tests for BlocksRuntime and builtins to corresponding directories under test/ 2014-02-14 09:47:31 +00:00
asan ASAN activate/deactive controls thread_local_quarantine_size_kb option. 2017-01-12 18:51:25 +00:00
builtins builtins: support building ARM builtins for a HF target 2017-01-11 16:19:25 +00:00
cfi Revert "[sancov] moving sancov rt to sancov/ directory" 2017-01-12 01:37:35 +00:00
dfsan Revert "[sancov] moving sancov rt to sancov/ directory" 2017-01-12 01:37:35 +00:00
esan Revert "[sancov] moving sancov rt to sancov/ directory" 2017-01-12 01:37:35 +00:00
interception [asan] Don't assert that a target is within 2GB on 32-bit Windows 2016-11-15 18:29:17 +00:00
lsan Revert "[sancov] moving sancov rt to sancov/ directory" 2017-01-12 01:37:35 +00:00
msan Revert "[sancov] moving sancov rt to sancov/ directory" 2017-01-12 01:37:35 +00:00
profile [Profile] Fix value profiler eviction bug 2016-11-29 22:00:54 +00:00
safestack [compiler-rt] Do not introduce __sanitizer namespace globally 2016-09-15 21:02:18 +00:00
sanitizer_common Remove SANITIZER_LINUX ifdefs 2017-01-13 19:25:58 +00:00
scudo [scudo] Refactor of CRC32 and ARM runtime CRC32 detection 2017-01-18 17:11:17 +00:00
stats Revert "[sancov] moving sancov rt to sancov/ directory" 2017-01-12 01:37:35 +00:00
tsan Revert "[sancov] moving sancov rt to sancov/ directory" 2017-01-12 01:37:35 +00:00
ubsan Revert "[sancov] moving sancov rt to sancov/ directory" 2017-01-12 01:37:35 +00:00
xray Revert "[XRay][Arm] Enable back XRay testing on Arm32 and fix the failing tests" 2017-01-18 09:07:35 +00:00
CMakeLists.txt Revert "[sancov] moving sancov rt to sancov/ directory" 2017-01-12 01:37:35 +00:00