[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