summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/IPO/GlobalOpt.cpp
diff options
context:
space:
mode:
authorJakub Kuderski <kubakuderski@gmail.com>2017-07-11 22:55:04 +0000
committerJakub Kuderski <kubakuderski@gmail.com>2017-07-11 22:55:04 +0000
commitb5567ca77d192fa95cb789e5f953acec1af0ade6 (patch)
tree91c04fb7fbcf47d9d70153000e24b1ef0817fa50 /llvm/lib/Transforms/IPO/GlobalOpt.cpp
parent2bf9ab2d626bb86ff9500afeb6da998d2bfc7a3d (diff)
downloadbcm5719-llvm-b5567ca77d192fa95cb789e5f953acec1af0ade6.tar.gz
bcm5719-llvm-b5567ca77d192fa95cb789e5f953acec1af0ade6.zip
[Dominators] Use a custom DFS implementation
Summary: Custom DFS implementation allows us to skip over certain nodes without adding them to the visited map, which is not easily doable with llvm's dfs iterators. What's more, caching predecessors becomes easy. This patch implements a single DFS function (template) for both forward and reverse DFS, which should be easier to maintain then separate two ones. Skipping over nodes based on a predicate will be necessary later to implement incremental updates. There also seems to be a very slight performance improved when bootstrapping clang with this patch on my machine (3:28s -> 3:26s) . Reviewers: dberlin, sanjoy, davide, grosser Reviewed By: dberlin Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D34651 llvm-svn: 307727
Diffstat (limited to 'llvm/lib/Transforms/IPO/GlobalOpt.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud