Reapply r186316 with a fix for one bug where the code could walk off the

end of a vector. This was found with ASan. I've had one other report of
a crasher, but thus far been unable to reproduce the crash. It may well
be fixed with this version, and if not I'd like to get more information
from the build bots about what is happening.

See r186316 for the full commit log for the new implementation of the
SROA algorithm.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186565 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chandler Carruth 2013-07-18 07:15:00 +00:00
parent 5b35d44592
commit f7c45ce3f5
2 changed files with 986 additions and 1265 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1308,7 +1308,7 @@ end:
define void @PR15805(i1 %a, i1 %b) {
; CHECK-LABEL: @PR15805(
; CHECK: select i1 undef, i64* %c, i64* %c
; CHECK-NOT: alloca
; CHECK: ret void
%c = alloca i64, align 8