[PATCH] D73801: [LoopFission]: Loop Fission Interference Graph (FIG)

Michael Kruse via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 26 09:00:39 PST 2020


Meinersbur added inline comments.


================
Comment at: llvm/lib/Transforms/Scalar/LoopFission/FIG.cpp:108
+        if (all_of(Deps, [](const std::unique_ptr<Dependence> &D) {
+              return D->isInput();
+            }))
----------------
Meinersbur wrote:
> [serious] I think being an input dependence does not, in principle, exclude also being another type of dependence (e.g. a dependence between function calls that read and write (conditionally) a location). Maybe `isOrdered()` is what you are looking for.
>  
> IIUC, DependenceInfo does not even report a dependence if it is input-only (and make me wonder why `isInput` even exists).
Seems I was wrong here and `DependenceInfo::depends` does return input dependencies. The check is only `!(Src->mayReadOrWriteMemory() && Dst->mayReadOrWriteMemory())`, i.e. whether some memory is accesses at all, not what kind of access it is.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D73801





More information about the llvm-commits mailing list