[PATCH] D36922: [LibCallSimplifier] try harder to fold memcmp with constant arguments
Sanjay Patel via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat Aug 19 08:20:45 PDT 2017
spatel created this revision.
Herald added a subscriber: mcrosier.
Try to fold:
memcmp(X, C, ConstantLength) != 0 --> load X == *C
Without this change, we're unnecessarily checking the alignment of the constant data, so we miss the transform in the first 2 tests in the patch.
I noted this shortcoming of LibCallSimpifier in one of the recent CGP memcmp expansion patches. This doesn't help the example in:
https://bugs.llvm.org/show_bug.cgi?id=34032#c13
...directly, but I think it's worth short-circuiting more of these simple cases since we're already trying to do that.
https://reviews.llvm.org/D36922
Files:
lib/Transforms/Utils/SimplifyLibCalls.cpp
test/Transforms/InstCombine/memcmp-constant-fold.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D36922.111823.patch
Type: text/x-patch
Size: 6296 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170819/2269d6da/attachment.bin>
More information about the llvm-commits
mailing list