OSDN Git Service

X86: Fix conflict over ESI between base register and rep;movsl
authorReid Kleckner <reid@kleckner.net>
Fri, 29 Aug 2014 20:50:31 +0000 (20:50 +0000)
committerReid Kleckner <reid@kleckner.net>
Fri, 29 Aug 2014 20:50:31 +0000 (20:50 +0000)
commit1469e29334cf6ac8a1d253c7c93303c179009843
tree311f6f2ebea5d0d792c430341310a8225ca37878
parente8b65bcf5b8a706a8880b262c72bfa4ad0e7e2ea
X86: Fix conflict over ESI between base register and rep;movsl

The new solution is to not use this lowering if there are any dynamic
allocas in the current function. We know up front if there are dynamic
allocas, but we don't know if we'll need to create stack temporaries
with large alignment during lowering. Conservatively assume that we will
need such temporaries.

Reviewed By: hans

Differential Revision: http://reviews.llvm.org/D5128

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216775 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86SelectionDAGInfo.cpp
lib/Target/X86/X86SelectionDAGInfo.h
test/CodeGen/X86/mem-intrin-base-reg.ll [new file with mode: 0644]