]> CyberLeo.Net >> Repos - FreeBSD/stable/9.git/commit
MFC r246858:
authordim <dim@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Fri, 22 Feb 2013 18:33:42 +0000 (18:33 +0000)
committerdim <dim@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Fri, 22 Feb 2013 18:33:42 +0000 (18:33 +0000)
commit4a32ebe273255e7550cdcb0ebaceb331c568f89d
tree4000b2c7d439683111fc9649c0aa67c52bec701b
parentaceba1833b97b432d021e57fd27a4787d5dedd10
MFC r246858:

Pull in r175057 from upstream llvm trunk:

  X86: Disable generation of rep;movsl when %esi is used as a base pointer.

  This happens when there is both stack realignment and a dynamic alloca in the
  function. If we overwrite %esi (rep;movsl uses fixed registers) we'll lose the
  base pointer and the next register spill will write into oblivion.

  Fixes PR15249 and unbreaks firefox on i386/freebsd. Mozilla uses dynamic allocas
  and freebsd a 4 byte stack alignment.

git-svn-id: svn://svn.freebsd.org/base/stable/9@247156 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
contrib/llvm/lib/Target/X86/X86SelectionDAGInfo.cpp