[PATCH] D124267: [MachinePipeliner] Fix unscheduled instruction
Thomas Preud'homme via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 27 08:07:34 PDT 2022
thopre updated this revision to Diff 425524.
thopre marked an inline comment as not done.
thopre added a comment.
- Replace isArtificial check by isBoundaryNode
- Remove call to ignoreDependence in computePath for predecessors
- remove no longer needed changes to PowerPC tests
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D124267/new/
https://reviews.llvm.org/D124267
Files:
llvm/lib/CodeGen/MachinePipeliner.cpp
Index: llvm/lib/CodeGen/MachinePipeliner.cpp
===================================================================
--- llvm/lib/CodeGen/MachinePipeliner.cpp
+++ llvm/lib/CodeGen/MachinePipeliner.cpp
@@ -1422,7 +1422,7 @@
/// We ignore the back-edge recurrence in order to avoid unbounded recursion
/// in the calculation of the ASAP, ALAP, etc functions.
static bool ignoreDependence(const SDep &D, bool isPred) {
- if (D.isArtificial())
+ if (D.getSUnit()->isBoundaryNode())
return true;
return D.getKind() == SDep::Anti && isPred;
}
@@ -1575,7 +1575,9 @@
return Path.contains(Cur);
bool FoundPath = false;
for (auto &SI : Cur->Succs)
- FoundPath |= computePath(SI.getSUnit(), Path, DestNodes, Exclude, Visited);
+ if (!ignoreDependence(SI, false))
+ FoundPath |=
+ computePath(SI.getSUnit(), Path, DestNodes, Exclude, Visited);
for (auto &PI : Cur->Preds)
if (PI.getKind() == SDep::Anti)
FoundPath |=
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D124267.425524.patch
Type: text/x-patch
Size: 961 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220427/cdc1fb4f/attachment.bin>
More information about the llvm-commits
mailing list