summaryrefslogtreecommitdiff
path: root/compiler/mir/src/Graph.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/mir/src/Graph.cpp')
-rw-r--r--compiler/mir/src/Graph.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/compiler/mir/src/Graph.cpp b/compiler/mir/src/Graph.cpp
index 04b005de4..05d6dc9bd 100644
--- a/compiler/mir/src/Graph.cpp
+++ b/compiler/mir/src/Graph.cpp
@@ -44,9 +44,16 @@ std::vector<Operation *> getSortedNodes(Graph *graph)
std::deque<Operation *> ready_nodes;
std::unordered_map<Operation *, std::size_t> num_visited_input_edges;
+ // Use input vector first to maintain correct input order
+ for (Operation *op : graph->getInputs())
+ {
+ ready_nodes.push_back(op);
+ }
+
for (Operation *op : graph->getNodes())
{
- if (op->getNumInputs() == 0)
+ // Skip already pushed input node
+ if ((op->getNumInputs() == 0) && (op->getType() != Operation::Type::input))
{
ready_nodes.push_back(op);
}