[StructurizeCFG] Fix infinite loop in rebuildSSA.
authorJustin Lebar <jlebar@google.com>
Tue, 29 Nov 2016 21:49:02 +0000 (21:49 +0000)
committerJustin Lebar <jlebar@google.com>
Tue, 29 Nov 2016 21:49:02 +0000 (21:49 +0000)
commit96e29155749c920cdc17219cd57e0d3f08dcc923
tree84ba7f7844d7b0c2e53544a140e2d1d649cb3510
parentf9d60f00e516358a33dc1b0e65a7ce6dd94cc188
[StructurizeCFG] Fix infinite loop in rebuildSSA.

Michel Dänzer reported that r288051, "[StructurizeCFG] Use range-based
for loops", introduced a bug into rebuildSSA, wherein we were iterating
over an instruction's use list while modifying it, without taking care
to do this correctly.

llvm-svn: 288200
llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
llvm/test/Transforms/StructurizeCFG/rebuild-ssa-infinite-loop.ll [new file with mode: 0644]