[PATCH] D45210: [New-PM] Lift Scop Pipeline to CGSCC-level

Philip Pfaffe via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 5 03:57:34 PDT 2018


philip.pfaffe added a comment.

In https://reviews.llvm.org/D45210#1057799, @Meinersbur wrote:

> 1. A function-level transformation pass wants to use Polly analysis. Since function passes can be run in any order by the pass manager, it does not necessarily correspond to the CGSCC (reverse? post-order) expected by the Polly passes. Callees have been already modified by this hypothetical pass after being analyzed by Polly.


This patch only changes the layering for ScopPasses. Note that Scop analyses are still being proxied in and out of function. As a consequence, function layer passes are not affected by this change.

> 2. A JIT or similar (e.g. clang runs a few LLVM passes directly after codegening a function) may not have added or know all callers/callees to the llvm::Module yet, i.e. the call graph is not complete/available.

This should probably be discussed as part of a review for interprocedural analysis. But fundamentally speaking, if the callee cannot be analyzed then the region containing the call cannot be modeled. So, worst case, nothing changes from what we're doing right now.


Repository:
  rPLO Polly

https://reviews.llvm.org/D45210





More information about the llvm-commits mailing list