[PATCH] D35391: [Dominators] Teach LoopDeletion to use the new incremental API

Jakub Kuderski via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 27 16:24:01 PDT 2017


kuhar updated this revision to Diff 108541.
kuhar edited the summary of this revision.
kuhar added a comment.

Zhendong and Qirun were able to generate a CFG that broke the previous update chained logic. It turns out, that it's not legal to chain a deletion and an insertion when there's irreducible control flow that appears in the temporarily deleted subtree. I added a regression test for that.

I think that this shows that the current incremental API is tricky to use when CFG and DomTree updates are not performed in lockstep, and we *really* need a proper batch update API.


https://reviews.llvm.org/D35391

Files:
  include/llvm/Support/GenericDomTree.h
  lib/Transforms/Scalar/LoopDeletion.cpp
  test/Transforms/LoopDeletion/2017-07-11-incremental-dt.ll
  unittests/IR/DominatorTreeTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D35391.108541.patch
Type: text/x-patch
Size: 8579 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170727/f5928103/attachment.bin>


More information about the llvm-commits mailing list