[PATCH] D39407: [(new) Pass Manager] instantiate SimplifyCFG with the same options as the old PM

Sanjay Patel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Dec 16 07:29:44 PST 2017


spatel added subscribers: bmakam, efriedma.
spatel added a comment.

> Further updating this: Taking the compiler from https://reviews.llvm.org/rL318299 with the new llvm/Transforms/Scalar/SimplifyCFG.h and setting needCanonicalLoops to false fixes the issue; taking the old llvm/Transforms/Scalar/SimplifyCFG.h and setting needCanonicalLoops to true reintroduces the issue.  The values of other flags seem to be unrelated to this regression.
> 
> With profiling we're particularly seeing slowdowns in the DecompressAllTags<SnappyArrayWriter> function.

Thanks for narrowing it down. I probably can't offer much assistance with the regression for the next few days, but let me provide some backstory for this change and cc some people who might have insight.

This patch is part of a sequence intended to solve:
https://bugs.llvm.org/show_bug.cgi?id=34603
...for **both** pass managers.

The 'NeedCanonicalLoop' portion in question was introduced/discussed in:
https://reviews.llvm.org/D35411

IMO, it was just an oversight that that change only affected the legacy pass manager. That was a carried limitation from the commit that introduced "-latesimplifycfg":
https://reviews.llvm.org/D30333


Repository:
  rL LLVM

https://reviews.llvm.org/D39407





More information about the llvm-commits mailing list