1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 12:02:58 +02:00
llvm-mirror/test
Clement Courbet 4f713f8431 [SelectionDAG] Allow the user to specify a memeq function.
Summary:
Right now, when we encounter a string equality check,
e.g. `if (memcmp(a, b, s) == 0)`, we try to expand to a comparison if `s` is a
small compile-time constant, and fall back on calling `memcmp()` else.

This is sub-optimal because memcmp has to compute much more than
equality.

This patch replaces `memcmp(a, b, s) == 0` by `bcmp(a, b, s) == 0` on platforms
that support `bcmp`.

`bcmp` can be made much more efficient than `memcmp` because equality
compare is trivially parallel while lexicographic ordering has a chain
dependency.

Subscribers: fedor.sergeev, jyknight, ckennelly, gchatelet, llvm-commits

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

llvm-svn: 355672
2019-03-08 09:07:45 +00:00
..
Analysis [AMDGPU] Add support for 64 bit buffer atomic artihmetic instructions 2019-03-06 17:02:06 +00:00
Assembler
Bindings
Bitcode [Bitcode] Fix bitcode compatibility issue with clang.arc.use intrinsic 2019-03-08 05:27:53 +00:00
BugPoint
CodeGen [SelectionDAG] Allow the user to specify a memeq function. 2019-03-08 09:07:45 +00:00
DebugInfo [WebAssembly] Remove trailing whitespaces in tests (NFC) 2019-03-06 02:00:22 +00:00
Demangle
Examples
ExecutionEngine
Feature
FileCheck
Instrumentation Fix invalid target triples in tests. (NFC) 2019-03-04 23:37:41 +00:00
Integer
JitListener
Linker
LTO
MachineVerifier
MC AMDHSA: Code object v3 updates 2019-03-07 19:58:29 +00:00
Object [llvm-readobj] Display section names for STT_SECTION symbols. 2019-03-01 17:31:32 +00:00
ObjectYAML
Other [PGO] Context sensitive PGO (part 4) 2019-03-06 19:31:37 +00:00
SafepointIRVerifier
SymbolRewriter
TableGen TableGen: Allow lists to be concatenated through '#' 2019-03-05 17:16:07 +00:00
ThinLTO/X86 [ThinLTO] Use defined node and edge order when dumping DOT file 2019-02-26 07:38:21 +00:00
tools [X86] Correct scheduler information for rotate by constant for Haswell, Broadwell, and Skylake. 2019-03-07 21:22:56 +00:00
Transforms [SelectionDAG] Allow the user to specify a memeq function. 2019-03-08 09:07:45 +00:00
Unit
Verifier
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg.py
lit.site.cfg.py.in
TestRunner.sh