[PATCH] D103289: A post-processing for BFI inference
Sergey Pupyrev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 1 10:30:52 PDT 2021
spupyrev marked an inline comment as done.
spupyrev added a comment.
In D103289#2786306 <https://reviews.llvm.org/D103289#2786306>, @davidxl wrote:
> thanks for working on this issue. A high level question -- is it possible to do the fix up on a per (irreducible) loop basis?
Would you mind expanding on why you'd prefer a per-loop solution?
In general, we found that processing the entire control-flow graph (in opposite to identifying some "problematic" subgraphs first) is much easier from the implementation point of view, while it still keeps the alg fairly efficient. We have a notion of "active" blocks that are being updated, and the algorithm processes only such active vertices. Thus if the input counts are incorrect in a single loop, the algorithm will quickly learn that and will not touch the rest of the graph.
================
Comment at: llvm/test/Transforms/SampleProfile/profile-correlation-irreducible-loops.ll:1
+; RUN: opt < %s -passes=pseudo-probe,sample-profile -sample-profile-file=%S/Inputs/profile-correlation-irreducible-loops.prof | opt -analyze -block-freq -enable-new-pm=0 -use-iterative-bfi-inference | FileCheck %s
+; RUN: opt < %s -passes=pseudo-probe,sample-profile -sample-profile-file=%S/Inputs/profile-correlation-irreducible-loops.prof -S | FileCheck %s --check-prefix=CHECK2
----------------
davidxl wrote:
> why -enable-new-pm = 0?
Without the option, I get
```
Cannot specify -analyze under new pass manager, either specify '-enable-new-pm=0', or use the corresponding new pass manager pass, e.g. '-passes=print<scalar-evolution>'. For a full list of passes, see the '--print-passes' flag.
```
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D103289/new/
https://reviews.llvm.org/D103289
More information about the llvm-commits
mailing list