llvm-project/llvm/lib/Transforms
Jakub Kuderski b292c22c8d [Dominators] Make IsPostDominator a template parameter
Summary:
DominatorTreeBase used to have IsPostDominators (bool) member to indicate if the tree is a dominator or a postdominator tree. This made it possible to switch between the two 'modes' at runtime, but it isn't used in practice anywhere.

This patch makes IsPostDominator a template argument. This way, it is easier to switch between different algorithms at compile-time based on this argument and design external utilities around it. It also makes it impossible to incidentally assign a postdominator tree to a dominator tree (and vice versa), and to further simplify template code in GenericDominatorTreeConstruction.

Reviewers: dberlin, sanjoy, davide, grosser

Reviewed By: dberlin

Subscribers: mzolotukhin, llvm-commits

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

llvm-svn: 308040
2017-07-14 18:26:09 +00:00
..
Coroutines Remove `inline` keyword from inline `classof` methods 2017-06-29 19:35:17 +00:00
Hello Add auto-exporting of symbols from tools so that plugins work on Windows 2016-05-26 11:16:43 +00:00
IPO [Dominators] Make IsPostDominator a template parameter 2017-07-14 18:26:09 +00:00
InstCombine [InstCombine] convert bitwise (in)equality checks to logical ops (PR32401) 2017-07-14 15:09:49 +00:00
Instrumentation [PGO] Enhance pgo counter promotion 2017-07-12 23:27:44 +00:00
ObjCARC Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
Scalar [IRCE] Fix corner case with Start = INT_MAX 2017-07-14 06:35:03 +00:00
Utils Fix unused variable warning on EXPENSIVE_CHECKS release builds. NFCI. 2017-07-13 17:10:12 +00:00
Vectorize [SLPVectorizer] Add an extra parameter to alreadyVectorized function, NFCI. 2017-07-14 03:48:29 +00:00
CMakeLists.txt [coroutines] Part 3 of N: Adding Boilerplate for Coroutine Passes 2016-07-28 21:04:31 +00:00
LLVMBuild.txt [coroutines] Part 3 of N: Adding Boilerplate for Coroutine Passes 2016-07-28 21:04:31 +00:00