[PATCH] D81236: Correctly report modified status for LoopExtractor

Ehud Katz via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 10 01:36:07 PDT 2020


ekatz added a comment.

In D81236#2082487 <https://reviews.llvm.org/D81236#2082487>, @serge-sans-paille wrote:

> I investigated, and BreakCriticalEdges is a dependency of LoopExtractor, and it's the pass that triggers the change.


This makes more sense. Every pass (in our case - `BreakCriticalEdges`) is responsible for reporting to the PM about the preserved (and non preserved) analyses.
I am not sure, what bug are you trying to tackle?
In case the `LoopExtractor` does nothing, it will report that all analyses are preserved, but the preceding call to `BreakCriticalEdges` will (and if it doesn't - it should) already report the non preserved analyses.
I guess, what you didn't expect is the fact that running the `LoopExtractor` will trigger `BreakCriticalEdges`, but although it //may// be a strange/ugly behavior, it is still valid.

Maybe a better implementation will be - calling `BreakCriticalEdges` as a utility from inside `LoopExtractor`. Consider what should be done to adapt this pass to the new PM?


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

https://reviews.llvm.org/D81236





More information about the llvm-commits mailing list