diff --git a/mlir/lib/Dialect/MQTOpt/Transforms/Transpilation/Architecture.cpp b/mlir/lib/Dialect/MQTOpt/Transforms/Transpilation/Architecture.cpp index c8da12450..7b152ba8e 100644 --- a/mlir/lib/Dialect/MQTOpt/Transforms/Transpilation/Architecture.cpp +++ b/mlir/lib/Dialect/MQTOpt/Transforms/Transpilation/Architecture.cpp @@ -38,13 +38,13 @@ Architecture::shortestSWAPsBetween(uint32_t u, uint32_t v) const { } llvm::SmallVector> swaps; - uint32_t curr = v; uint32_t last = v; + uint32_t curr = prev_[u][v]; while (curr != u) { - curr = prev_[u][curr]; - swaps.emplace_back(last, curr); + swaps.emplace_back(last, curr); // Insert SWAP(last, curr). last = curr; + curr = prev_[u][curr]; } return swaps;