[PATCH] D46893: [CVP] Require DomTree for new Pass Manager

Daniel Berlin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 16 07:53:17 PDT 2018


dberlin added a comment.

So, this seems very confused.
getBestSimplifyQuery simply queries the analysis manager to see what passes are available.

This was used to replace something even *more* vague, where passes were randomly plumbing or not plumbing pieces they had to simplifyInstruction various places, and were doing it quite wrong.
It was generally considered a significant improvement over what existed before.
You can look at what it replaced and make that decision,.

All that said,  it does not *require* anything.
Nor does SimplifyInstruction, which was deliberately built to not require a DomTree to function properly, and is used in places where it is not up to date or correct.
Hence, getBestSimplifyQuery  uses what is available, as does the SimplifyQuery structure and SimplifyInstruction.

Bottom line: If someone has forced SimplifyInstruction to need DT, they have broken *every* pass that uses SimplifyInstruction, and that is your real bug.

Otherwise, i disagree with Chandler strongly to go back to constructing SimplifyQuery's directly.  It was wrong often enough that this was clearly not a good way of doing things, IMHO.


https://reviews.llvm.org/D46893





More information about the llvm-commits mailing list