Skip to content

Commit 26029ae

Browse files
committed
Revert "TMP, needs to be removed; allow OpenQASM export with round-trip pass"
This reverts commit 4b54f87.
1 parent 21235bd commit 26029ae

2 files changed

Lines changed: 3 additions & 13 deletions

File tree

mlir/lib/Dialect/MQTOpt/Transforms/MQTCoreRoundTrip.cpp

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,12 @@ struct MQTCoreRoundTrip final : impl::MQTCoreRoundTripBase<MQTCoreRoundTrip> {
3333
// Define the set of patterns to use.
3434
mlir::RewritePatternSet patterns(ctx);
3535
populateToQuantumComputationPatterns(patterns, circuit);
36-
// populateFromQuantumComputationPatterns(patterns, circuit);
36+
populateFromQuantumComputationPatterns(patterns, circuit);
3737

3838
// Apply patterns in an iterative and greedy manner.
3939
if (mlir::failed(mlir::applyPatternsGreedily(op, std::move(patterns)))) {
4040
signalPassFailure();
4141
}
42-
std::cerr << "======================\n";
43-
circuit.dumpOpenQASM(std::cerr, false);
44-
std::cerr << "======================\n";
4542
}
4643
};
4744

mlir/lib/Dialect/MQTOpt/Transforms/ToQuantumComputationPattern.cpp

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
* Licensed under the MIT License
99
*/
1010

11-
#include "Helpers.h"
1211
#include "ir/Definitions.hpp"
1312
#include "ir/QuantumComputation.hpp"
1413
#include "ir/operations/Control.hpp"
@@ -183,9 +182,7 @@ struct ToQuantumComputationPattern final : mlir::OpRewritePattern<AllocOp> {
183182
findQubitIndex(val, currentQubitVariables));
184183
}
185184
// Get the qubit index of the target qubit (if already collected).
186-
if (!in.empty()) {
187185
targetIndex[0] = findQubitIndex(in[0], currentQubitVariables);
188-
}
189186
if (in.size() > 1) {
190187
targetIndex[1] = findQubitIndex(in[1], currentQubitVariables);
191188
}
@@ -206,9 +203,7 @@ struct ToQuantumComputationPattern final : mlir::OpRewritePattern<AllocOp> {
206203
currentQubitVariables[negCtrlInsIndices[i]] =
207204
outs[i + 1 + posCtrlInsIndices.size()];
208205
}
209-
if (!op.getOutQubits().empty()) {
210-
currentQubitVariables[targetIndex[0]] = outs[0];
211-
}
206+
currentQubitVariables[targetIndex[0]] = outs[0];
212207
if (op.getOutQubits().size() > 1) {
213208
currentQubitVariables[targetIndex[1]] = outs[1];
214209
}
@@ -230,8 +225,6 @@ struct ToQuantumComputationPattern final : mlir::OpRewritePattern<AllocOp> {
230225
parameters.emplace_back(param);
231226
}
232227
}
233-
auto x = helpers::getParameters(op);
234-
parameters.insert(parameters.end(), x.begin(), x.end());
235228

236229
if (op.getOutQubits().size() > 1) {
237230
circuit.emplace_back<qc::StandardOperation>(
@@ -372,7 +365,7 @@ struct ToQuantumComputationPattern final : mlir::OpRewritePattern<AllocOp> {
372365

373366
std::string regName;
374367
llvm::raw_string_ostream os(regName);
375-
os << "q";
368+
op.getResult().print(os);
376369

377370
circuit.addQubitRegister(numQubits, regName);
378371
circuit.addClassicalRegister(numQubits);

0 commit comments

Comments
 (0)