[PATCH] D69295: Optimize SHA1 implementation
Nick Terrell via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 23 11:18:27 PDT 2019
terrelln added a comment.
> I also agree with this. I think llvm/benchmarks would be fine for now either way, but with more benchmarks (which hopefully would be there at some point, I had plans of adding some for a while now but I'm not sure when I'll get to that) subdirectories make sense.
I agree it would be better in `llvm/benchmarks`, and that is what I tried that first, but had problems with getting the CMakeFile.txt right. I set up the file like this:
set(LLVM_LINK_COMPONENTS
Support)
add_benchmark(DummyYAML DummyYAML.cpp)
add_benchmark(hash-benchmark hash-benchmark.cpp)
But the first benchmark complained that `hash-benchmark.cpp` is unused, and the second complained that `DummyYAML.cpp` is unused in LLVMProcessSources.cmake:112 <https://github.com/llvm/llvm-project/blob/c0da957bb05b7044bec83f8159c57b1d9ab9eb59/llvm/cmake/modules/LLVMProcessSources.cmake#L112>. If someone can help me with the CMake, I'd be glad to switch it back.
> Is it a -DCMAKE_BUILD_TYPE=Release build? I will be pretty surprised if gcc/clang -O3 does not inline these functions.
Yeah, clang -O3 inlines all of them, but gcc -O3 inlines most, but not all of them before this patch. gcc-6 doesn't inline at least some calls of `r1`, `blk`, and `r3`.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D69295/new/
https://reviews.llvm.org/D69295
More information about the llvm-commits
mailing list