[PATCH] D11568: fix memcpy/memset/memmove lowering when optimizing for size
Sanjay Patel
spatel at rotateright.com
Tue Jul 28 11:07:35 PDT 2015
spatel created this revision.
spatel added reviewers: qcolombet, hfinkel, mkuper.
spatel added a subscriber: llvm-commits.
Fixing MinSize attribute handling was discussed in D11363. This is a prerequisite patch to doing that.
The handling of OptSize when lowering mem* functions was broken on Darwin because it wants to ignore -Os for these cases, but the existing logic also made it ignore -Oz (MinSize).
The Linux change demonstrates a widespread problem. The backend doesn't recognize the MinSize attribute by itself; it assumes that MinSize implies OptSize. Fixing this more generally will be a follow-on patch or two.
http://reviews.llvm.org/D11568
Files:
lib/CodeGen/SelectionDAG/SelectionDAG.cpp
lib/Target/ARM/ARMISelLowering.cpp
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/memcpy.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D11568.30837.patch
Type: text/x-patch
Size: 5897 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150728/460d7d95/attachment.bin>
More information about the llvm-commits
mailing list