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.
Paths
| Differential D59789
[DSE] Preserve basic block ordering using OrderedBasicBlock. ClosedPublic Authored by fhahn on Mar 25 2019, 11:19 AM.
Details Summary By extending OrderedBB to allow removing and replacing cached Fixes PR38829.
Diff Detail
Event Timelinefhahn added a parent revision: D59788: [MemDepAnalysis] Allow caller to pass in an OrderedBasicBlock..Mar 25 2019, 11:21 AM
Comment Actions Thanks Eli. In the case LastInstFound == BB->begin(), we have to renumber all This revision is now accepted and ready to land.Mar 25 2019, 2:48 PM Closed by commit rL357208: [DSE] Preserve basic block ordering using OrderedBasicBlock. (authored by fhahn). · Explain WhyMar 28 2019, 1:05 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 192167 llvm/include/llvm/Analysis/OrderedBasicBlock.h
llvm/lib/Analysis/OrderedBasicBlock.cpp
llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
|
Can you just set "LastInstFound = BB->end()", instead of actually numbering the new first instruction?