File tree Expand file tree Collapse file tree
mlir/lib/Dialect/QCO/IR/Modifiers Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -145,7 +145,9 @@ struct CtrlInlineId final : OpRewritePattern<CtrlOp> {
145145} // namespace
146146
147147UnitaryOpInterface CtrlOp::getBodyUnitary () {
148- return llvm::dyn_cast<UnitaryOpInterface>(&getBody ()->front ());
148+ auto bodyUnitary = llvm::dyn_cast<UnitaryOpInterface>(&getBody ()->front ());
149+ assert (bodyUnitary);
150+ return bodyUnitary;
149151}
150152
151153size_t CtrlOp::getNumQubits () { return getNumTargets () + getNumControls (); }
@@ -160,7 +162,7 @@ Value CtrlOp::getInputQubit(const size_t i) {
160162 return getControlsIn ()[i];
161163 }
162164 if (numControls <= i && i < getNumQubits ()) {
163- return getBodyUnitary (). getInputQubit ( i - numControls) ;
165+ return getTargetsIn ()[ i - numControls] ;
164166 }
165167 llvm::reportFatalUsageError (" Invalid qubit index" );
166168}
@@ -171,7 +173,7 @@ Value CtrlOp::getOutputQubit(const size_t i) {
171173 return getControlsOut ()[i];
172174 }
173175 if (numControls <= i && i < getNumQubits ()) {
174- return getBodyUnitary (). getOutputQubit ( i - numControls) ;
176+ return getTargetsOut ()[ i - numControls] ;
175177 }
176178 llvm::reportFatalUsageError (" Invalid qubit index" );
177179}
You can’t perform that action at this time.
0 commit comments