[llvm] r357074 - [MCA][Pipeline] Don't visit stages in reverse order when calling method cycleEnd(). NFCI
Andrea Di Biagio via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 27 08:41:53 PDT 2019
Author: adibiagio
Date: Wed Mar 27 08:41:53 2019
New Revision: 357074
URL: http://llvm.org/viewvc/llvm-project?rev=357074&view=rev
Log:
[MCA][Pipeline] Don't visit stages in reverse order when calling method cycleEnd(). NFCI
There is no reason why stages should be visited in reverse order.
This patch allows the definition of stages that push instructions forward from
their cycleEnd() routine.
Modified:
llvm/trunk/lib/MCA/Pipeline.cpp
Modified: llvm/trunk/lib/MCA/Pipeline.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MCA/Pipeline.cpp?rev=357074&r1=357073&r2=357074&view=diff
==============================================================================
--- llvm/trunk/lib/MCA/Pipeline.cpp (original)
+++ llvm/trunk/lib/MCA/Pipeline.cpp Wed Mar 27 08:41:53 2019
@@ -63,9 +63,9 @@ Error Pipeline::runCycle() {
Err = FirstStage.execute(IR);
// Update stages in preparation for a new cycle.
- for (auto I = Stages.rbegin(), E = Stages.rend(); I != E && !Err; ++I) {
- const std::unique_ptr<Stage> &S = *I;
- Err = S->cycleEnd();
+ for (const std::unique_ptr<Stage> &S : Stages) {
+ if (Err = S->cycleEnd())
+ break;
}
return Err;
More information about the llvm-commits
mailing list