search for: user_memeq

Displaying 3 results from an estimated 3 matches for "user_memeq".

Did you mean: user_mem
2019 Jan 04
2
[RFC] Adding a -memeq-lib-function flag to allow the user to specify a memeq function.
Thanks for the suggestions Hal, So if I understand correctly, you're recommending we add a module flag <https://llvm.org/docs/LangRef.html#module-flags-metadata> to LLVM, something like: !llvm.module.flags = !{..., !123} !123 = !{i32 1, !"memeq_lib_function", !"user_memeq"} I've given it a try in the following patch: https://reviews.llvm.org/D56311 If this sounds reasonable I can start working on adding a CodeGenOptions to clang to see what this entails. I don't think the function attribute works here because we want this to be globally enabled instea...
2019 Jan 03
4
[RFC] Adding a -memeq-lib-function flag to allow the user to specify a memeq function.
...to expand to an equality comparison if `s` is a small compile-time constant, and falls back on calling `memcmp()` else. This is sub-optimal because memcmp has to compute much more than equality. We propose adding a way for the user to specify a `memeq` library function (e.g. `-memeq-lib-function=user_memeq`) which will be called instead of `memcmp()` when the result of the memcmp call is only used for equality comparison. `memeq` can be made much more efficient than `memcmp` because equality comparison is trivially parallel while lexicographic ordering has a chain dependency. We measured an very la...
2019 Jan 05
3
[RFC] Adding a -memeq-lib-function flag to allow the user to specify a memeq function.
...ll compile-time constant, and falls back on calling `memcmp()` >> else. >> >> This is sub-optimal because memcmp has to compute much more than equality. >> >> We propose adding a way for the user to specify a `memeq` library >> function (e.g. `-memeq-lib-function=user_memeq`) which will be called >> instead of `memcmp()` when the result of the memcmp call is only used for >> equality comparison. >> >> `memeq` can be made much more efficient than `memcmp` because equality >> comparison is trivially parallel while lexicographic ordering has...