[PATCH] D68298: [GlobalOpt] Pass DTU to removeUnreachableBlocks instead of recomputing.

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Jan 4 06:09:48 PST 2020


fhahn added a comment.

In D68298#1804128 <https://reviews.llvm.org/D68298#1804128>, @nikic wrote:

> I suspect that this change caused a major compile-time performance regression in GlobalOpt. Doesn't this essentially break the laziness of `LookupDomTree()` and force DT construction even if it will not be needed?


Do you have a test case handy? Assuming the DT for F is already computed, LookupDomTree should be free,  but looking at the preceding passes, it looks like IPSCCP does not preserve the DTs with the LegacyPassManager (When I tried I could not get a module pass to preserve individual function analysis).

Unless we can get the DTs preserved until here, it is probably best to use `getAnalysisIfAvailable<DominatorTreeWrapperPass>()` here instead.


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D68298/new/

https://reviews.llvm.org/D68298





More information about the llvm-commits mailing list