llvm-project/llvm/unittests/IR
Jakub Kuderski 624463a003 [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

llvm-svn: 311015
2017-08-16 16:12:52 +00:00
..
AsmWriterTest.cpp Re-sort #include lines for unittests. This uses a slightly modified 2017-06-06 11:06:56 +00:00
AttributesTest.cpp Fix assertion when merging multiple empty AttributeLists 2017-05-31 14:24:06 +00:00
BasicBlockTest.cpp Remove unnecessary double-assignment triggering -Wsequence-point. 2017-05-26 12:07:12 +00:00
CFGBuilder.cpp [Dominators] Define Arc less-than operator inline. 2017-07-13 23:11:57 +00:00
CFGBuilder.h [Dominators] Define Arc less-than operator inline. 2017-07-13 23:11:57 +00:00
CMakeLists.txt [Dominators] Introduce batch updates 2017-08-16 16:12:52 +00:00
ConstantRangeTest.cpp [ConstantRange] Add another truncate unittest for wrapped set staying a wrapped set. 2017-06-04 23:07:53 +00:00
ConstantsTest.cpp Re-sort #include lines for unittests. This uses a slightly modified 2017-06-06 11:06:56 +00:00
DebugInfoTest.cpp Formatting with clang-format patch r280700 2016-09-06 17:03:02 +00:00
DebugTypeODRUniquingTest.cpp Re-sort #include lines for unittests. This uses a slightly modified 2017-06-06 11:06:56 +00:00
DominatorTreeBatchUpdatesTest.cpp [Dominators] Introduce batch updates 2017-08-16 16:12:52 +00:00
DominatorTreeTest.cpp [Dominators] Include infinite loops in PostDominatorTree 2017-08-15 18:14:57 +00:00
FunctionTest.cpp [GlobalObject] Fix setSection("") 2017-02-15 21:42:42 +00:00
IRBuilderTest.cpp Debug Info: Add a file: field to DIImportedEntity. 2017-07-19 00:09:54 +00:00
InstructionsTest.cpp [IR] De-virtualize ~Value to save a vptr 2017-05-18 17:24:10 +00:00
IntrinsicsTest.cpp Handle more edge cases in intrinsic name binary search 2016-01-26 22:33:19 +00:00
LegacyPassManagerTest.cpp Rename AttributeSet to AttributeList 2017-03-21 16:57:19 +00:00
MDBuilderTest.cpp
MetadataTest.cpp Disable some IR death tests when SEH is available 2017-08-10 21:14:07 +00:00
ModuleTest.cpp Have Module::createRNG return a unique_ptr 2017-07-12 08:03:44 +00:00
PassBuilderCallbacksTest.cpp [PM] Enable registration of out-of-tree passes with PassBuilder 2017-07-10 10:57:55 +00:00
PassManagerTest.cpp [PM] Teach PreservedAnalyses to have an `allInSet` static factory 2017-07-09 07:23:27 +00:00
PatternMatch.cpp Fix m_[Ord|Unord][FMin|FMax] matchers to correctly match ordering. 2017-06-13 17:18:45 +00:00
TypeBuilderTest.cpp Suppress all uses of LLVM_END_WITH_NULL. NFC. 2017-05-09 19:31:13 +00:00
TypesTest.cpp
UseTest.cpp
UserTest.cpp Re-sort #include lines for unittests. This uses a slightly modified 2017-06-06 11:06:56 +00:00
ValueHandleTest.cpp Add a new WeakVH value handle; NFC 2017-05-01 17:07:54 +00:00
ValueMapTest.cpp Remove every uses of getGlobalContext() in LLVM (but the C API) 2016-04-14 21:59:01 +00:00
ValueTest.cpp Re-sort #include lines for unittests. This uses a slightly modified 2017-06-06 11:06:56 +00:00
VerifierTest.cpp Re-sort #include lines for unittests. This uses a slightly modified 2017-06-06 11:06:56 +00:00
WaymarkTest.cpp Remove every uses of getGlobalContext() in LLVM (but the C API) 2016-04-14 21:59:01 +00:00