]> granicus.if.org Git - llvm/commit
[DSE] Preserve basic block ordering using OrderedBasicBlock.
authorFlorian Hahn <flo@fhahn.com>
Thu, 28 Mar 2019 20:02:33 +0000 (20:02 +0000)
committerFlorian Hahn <flo@fhahn.com>
Thu, 28 Mar 2019 20:02:33 +0000 (20:02 +0000)
commitba97e8711be88ca8691804f096898c1a42ae2609
treef60641ebf5d625f5c01b9cf29570c7505c3816f7
parent7f1051e1fa398762ef61ad83913125e731cf2994
[DSE] Preserve basic block ordering using OrderedBasicBlock.

By extending OrderedBB to allow removing and replacing cached
instructions, we can preserve OrderedBBs in DSE easily. This eliminates
one source of quadratic compile time in DSE.

Fixes PR38829.

Reviewers: rnk, efriedma, hfinkel

Reviewed By: efriedma

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@357208 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Analysis/OrderedBasicBlock.h
lib/Analysis/OrderedBasicBlock.cpp
lib/Transforms/Scalar/DeadStoreElimination.cpp