diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2013-02-13 13:40:35 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2013-02-13 13:40:35 +0000 |
commit | 8e2637e2b00eea944e8ada6106d3cbf00c46a223 (patch) | |
tree | c399bbba649e803a1af4d93d580899713e9e9ec2 /llvm/lib/CodeGen/LiveDebugVariables.cpp | |
parent | 3c2489e2c32e7d4b29889f14641d2bfaa742c262 (diff) | |
download | llvm-8e2637e2b00eea944e8ada6106d3cbf00c46a223.zip llvm-8e2637e2b00eea944e8ada6106d3cbf00c46a223.tar.gz llvm-8e2637e2b00eea944e8ada6106d3cbf00c46a223.tar.bz2 |
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.
llvm-svn: 175057
Diffstat (limited to 'llvm/lib/CodeGen/LiveDebugVariables.cpp')
0 files changed, 0 insertions, 0 deletions