1414
1515#include < Eigen/Core>
1616#include < Eigen/Eigenvalues>
17- #include < llvm/ADT/STLFunctionalExtras.h>
1817#include < llvm/ADT/SmallVector.h>
1918#include < llvm/ADT/TypeSwitch.h>
2019#include < llvm/Support/ErrorHandling.h>
3736using namespace mlir ;
3837using namespace mlir ::qco;
3938using namespace mlir ::utils;
39+ using llvm::reportFatalUsageError;
40+ using llvm::to_vector;
4041
4142/* *
4243 * @brief If the computed P-gate angle corresponds to a named gate, emit it
@@ -176,17 +177,17 @@ struct NegPowToInvPow final : OpRewritePattern<PowOp> {
176177 rewriter.replaceOpWithNewOp <PowOp>(
177178 op, op.getQubitsIn (), -exp,
178179 [&](ValueRange powArgs) -> SmallVector<Value> {
179- return InvOp::create (
180- rewriter, op. getLoc (), powArgs,
181- [&](ValueRange invArgs) -> SmallVector<Value> {
182- auto * invBody = rewriter.getInsertionBlock ();
183- rewriter. inlineBlockBefore ( op.getBody (), invBody,
184- invBody-> begin (), invArgs);
185- auto yieldedValues =
186- llvm:: to_vector (invBody->back ().getOperands ());
187- rewriter.eraseOp (&invBody->back ());
188- return yieldedValues;
189- })
180+ return InvOp::create (rewriter, op. getLoc (), powArgs,
181+ [&](ValueRange invArgs) -> SmallVector<Value> {
182+ auto * invBody = rewriter. getInsertionBlock ();
183+ rewriter.inlineBlockBefore (
184+ op.getBody (), invBody, invBody-> begin () ,
185+ invArgs);
186+ auto yieldedValues =
187+ to_vector (invBody->back ().getOperands ());
188+ rewriter.eraseOp (&invBody->back ());
189+ return yieldedValues;
190+ })
190191 .getResults ();
191192 });
192193
@@ -246,8 +247,8 @@ struct MoveCtrlOutside final : OpRewritePattern<PowOp> {
246247 rewriter.inlineBlockBefore (
247248 innerCtrlOp.getBody (), powBody,
248249 powBody->begin (), powArgs);
249- auto yieldedValues = llvm::to_vector (
250- powBody->back ().getOperands ());
250+ auto yieldedValues =
251+ to_vector ( powBody->back ().getOperands ());
251252 rewriter.eraseOp (&powBody->back ());
252253 return yieldedValues;
253254 })
@@ -549,7 +550,7 @@ struct FoldPowIntoGate final : OpRewritePattern<PowOp> {
549550double PowOp::getExponentValue () {
550551 FloatAttr attr;
551552 if (!matchPattern (getExponent (), m_Constant (&attr))) {
552- llvm:: reportFatalUsageError (" PowOp exponent must be a constant" );
553+ reportFatalUsageError (" PowOp exponent must be a constant" );
553554 }
554555 return attr.getValueAsDouble ();
555556}
@@ -565,14 +566,14 @@ UnitaryOpInterface PowOp::getBodyUnitary() {
565566
566567Value PowOp::getInputQubit (const size_t i) {
567568 if (i >= getNumTargets ()) {
568- llvm:: reportFatalUsageError (" Qubit index out of bounds" );
569+ reportFatalUsageError (" Qubit index out of bounds" );
569570 }
570571 return getQubitsIn ()[i];
571572}
572573
573574Value PowOp::getOutputQubit (const size_t i) {
574575 if (i >= getNumTargets ()) {
575- llvm:: reportFatalUsageError (" Qubit index out of bounds" );
576+ reportFatalUsageError (" Qubit index out of bounds" );
576577 }
577578 return getQubitsOut ()[i];
578579}
@@ -583,7 +584,7 @@ Value PowOp::getInputForOutput(Value output) {
583584 return getQubitsIn ()[i];
584585 }
585586 }
586- llvm:: reportFatalUsageError (" Given qubit is not an output of the operation" );
587+ reportFatalUsageError (" Given qubit is not an output of the operation" );
587588}
588589
589590Value PowOp::getOutputForInput (Value input) {
@@ -592,7 +593,7 @@ Value PowOp::getOutputForInput(Value input) {
592593 return getQubitsOut ()[i];
593594 }
594595 }
595- llvm:: reportFatalUsageError (" Given qubit is not an input of the operation" );
596+ reportFatalUsageError (" Given qubit is not an input of the operation" );
596597}
597598
598599void PowOp::build (OpBuilder& odsBuilder, OperationState& odsState,
0 commit comments