Revert the business end of r164634, and replace it with a different fix. The
authorNick Lewycky <nicholas@mxc.ca>
Tue, 25 Sep 2012 21:50:37 +0000 (21:50 +0000)
committerNick Lewycky <nicholas@mxc.ca>
Tue, 25 Sep 2012 21:50:37 +0000 (21:50 +0000)
commit48c0f65be363eeec4d69a96864e06b1570aedbfe
treeed26f73d3077c58ff306243108d39c2aad513446
parentc3f10e43fc4b1084bc109ff740d9ba4b6eaced0a
Revert the business end of r164634, and replace it with a different fix. The
reason we were getting two of the same alloca is because of a memmove/memcpy
which had the same alloca in both the src and dest. Now we detect that case
directly. This has the same testcase as before, but fixes a clang test
CodeGenObjC/exceptions.m which runs clang -O2.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164636 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/SROA.cpp