LSR: Don't optimize loops if an outer loop has no preheader.
authorAndrew Trick <atrick@apple.com>
Sat, 7 Jan 2012 03:16:50 +0000 (03:16 +0000)
committerAndrew Trick <atrick@apple.com>
Sat, 7 Jan 2012 03:16:50 +0000 (03:16 +0000)
commitacdb4aaf9b1f2edd96163c27bcc4e0557014f51e
tree41ec44bb17baa2ee5521ab042ef949a6a5b782bb
parent99b4237c1647156f0e1d3d7e03efdab23ed79778
LSR: Don't optimize loops if an outer loop has no preheader.

LoopSimplify may not run on some outer loops, e.g. because of indirect
branches. SCEVExpander simply cannot handle outer loops with no preheaders.
Fixes rdar://10655343 SCEVExpander segfault.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147718 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/LoopStrengthReduce.cpp
test/Transforms/LoopStrengthReduce/2012-02-nopreheader.ll