[PATCH] D36167: [Dominators] Introduce batch updates

Jakub Kuderski via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 1 12:23:02 PDT 2017


kuhar created this revision.
Herald added a subscriber: mgorny.

This patch introduces a way of informing the (Post)DominatorTree about multiple CFG updates that happened since the last tree update. This makes performing tree updates much easier, as it internally takes care of applying the updates in lockstep with the (virtual) updates to the CFG, which is done by reverse-applying future CFG updates.

The batch updater is able to remove redundant updates that cancel each other out. In the future, it should be also possible to reorder updates to reduce the amount of work needed to perform the updates.


https://reviews.llvm.org/D36167

Files:
  include/llvm/IR/Dominators.h
  include/llvm/Support/GenericDomTree.h
  include/llvm/Support/GenericDomTreeConstruction.h
  lib/IR/Dominators.cpp
  unittests/IR/CMakeLists.txt
  unittests/IR/DominatorTreeBatchUpdatesTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D36167.109171.patch
Type: text/x-patch
Size: 49245 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170801/7d85db8a/attachment.bin>


More information about the llvm-commits mailing list