[PATCH] D70609: [DDG] Data Dependence Graph - Topological Sort
Michael Kruse via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Nov 22 14:25:16 PST 2019
Meinersbur accepted this revision.
Meinersbur added inline comments.
This revision is now accepted and ready to land.
================
Comment at: llvm/test/Analysis/DDG/basic-b.ll:50
; CHECK-NEXT: Instructions:
; CHECK-NEXT: %arrayidx2 = getelementptr inbounds float, float* %a, i64 %sub1
; CHECK-NEXT: Edges:
----------------
[design question] def-uses only manifest as flow-dependency, but no anti- or output dependencies. Looking only at the dependencies, a loop distribution pass could conclude that the computation of e.g. `%arrayidx2` could be split from the load/store pi-node. However, this is not possible without storing the values in an intermediate array.
My question is how the loop distribution pass should handle the situation? Will anti- and output dependencies for registers added later? Does the pass have to check on its own that no def-use chain would be separated into different loops?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D70609/new/
https://reviews.llvm.org/D70609
More information about the llvm-commits
mailing list