When computing reverse-CFG reverse-post-order, skip backedges, as
detected in the forward-CFG DFS. This prevents the reverse-CFG from
visiting blocks inside loops after blocks that dominate them in the
case where loops have multiple exits.

No testcase, because this fixes a bug which in practice only shows
up in a full optimizer run, due to the use-list order.

This fixes rdar://10422791 and others.

llvm-svn: 146408
1 file changed
tree: dd1b8a8dc92414a57e563be7c38b3d63be04faaf
  1. clang/
  2. compiler-rt/
  3. debuginfo-tests/
  4. libcxx/
  5. libcxxabi/
  6. lldb/
  7. llvm/
  8. polly/