[PATCH] D86156: [BFI] Preserve BFI information through loop passes via VH callbacks inside LoopStandardAnalysisResults

Alina Sbirlea via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Aug 20 18:41:51 PDT 2020


asbirlea requested changes to this revision.
asbirlea added a comment.
This revision now requires changes to proceed.

A couple of quick comments, I haven't gone into details yet.

- please split off the changes that are NFCs (deleted spaces) and clang-format for ease to review.
- the test changes show a lot of dependencies that overload the loop pipeline. If only LICM benefits from it, I'd consider creating a BFI instance for the duration of the LICM pass, or only enabling it in loop pipelines that have LICM in them (see example comment in one of the tests).



================
Comment at: llvm/include/llvm/Transforms/Scalar/LoopPassManager.h:278
                                        AM.getResult<TargetIRAnalysis>(F),
+                                       &AM.getResult<BlockFrequencyAnalysis>(F),
                                        MSSA};
----------------
This should not be unconditional. See MSSA approach.


================
Comment at: llvm/test/Transforms/LoopRotate/pr35210.ll:51
+; MSSA-NEXT: Running analysis: BlockFrequencyAnalysis on f
+; MSSA-NEXT: Running analysis: BranchProbabilityAnalysis on f
 ; MSSA-NEXT: Running analysis: InnerAnalysisManagerProxy{{.*}} on f
----------------
e.g. there's no use of creating these for LoopRotate.


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

https://reviews.llvm.org/D86156



More information about the cfe-commits mailing list