diff options
| author | Clement Courbet <courbet@google.com> | 2019-03-08 09:07:45 +0000 |
|---|---|---|
| committer | Clement Courbet <courbet@google.com> | 2019-03-08 09:07:45 +0000 |
| commit | 8e16d73346f8091461319a7dfc4ddd18eedcff13 (patch) | |
| tree | 834ddc2069d1bcdb9214a794b89c7570156a6046 /llvm/lib/TextAPI | |
| parent | 1a98dc184044768dd672c54b3b9557a05dd082f1 (diff) | |
| download | bcm5719-llvm-8e16d73346f8091461319a7dfc4ddd18eedcff13.tar.gz bcm5719-llvm-8e16d73346f8091461319a7dfc4ddd18eedcff13.zip | |
[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
Diffstat (limited to 'llvm/lib/TextAPI')
0 files changed, 0 insertions, 0 deletions

