[Dominators] Introduce batch updates

Description

[Dominators] Introduce batch updates

Summary:
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.

Reviewers: dberlin, sanjoy, grosser, davide, brzycki

Reviewed By: brzycki

Subscribers: mgorny, llvm-commits

Differential Revision: https://reviews.llvm.org/D36167

Details

Committed
kuharAug 16 2017, 9:12 AM
Reviewer
brzycki
Differential Revision
D36167: [Dominators] Introduce batch updates
Parents
rL311014: [BDCE] Don't check demanded bits on unsized types
Branches
Unknown
Tags
Unknown