File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -119,6 +119,11 @@ class QuantumCompilerPipeline {
119119 */
120120 static void addCleanupPasses (PassManager& pm);
121121
122+ /* *
123+ * @brief Add all available optimization passes
124+ */
125+ static void addOptimizationPasses (PassManager& pm);
126+
122127 /* *
123128 * @brief Configure PassManager with diagnostic options
124129 *
Original file line number Diff line number Diff line change @@ -21,7 +21,8 @@ add_mlir_library(
2121 QCOToQC
2222 QCToQIR
2323 MQT::MLIRSupport
24- MQT::ProjectOptions )
24+ MQT::ProjectOptions
25+ QcoPasses )
2526
2627# collect header files
2728file (GLOB_RECURSE COMPILER_HEADERS_SOURCE "${MQT_MLIR_SOURCE_INCLUDE_DIR} /mlir/Compiler/*.h" )
Original file line number Diff line number Diff line change 1313#include " mlir/Conversion/QCOToQC/QCOToQC.h"
1414#include " mlir/Conversion/QCToQCO/QCToQCO.h"
1515#include " mlir/Conversion/QCToQIR/QCToQIR.h"
16+ #include " mlir/Passes/Passes.h"
1617#include " mlir/Support/PrettyPrinting.h"
1718
1819#include < llvm/ADT/StringRef.h>
@@ -64,6 +65,11 @@ void QuantumCompilerPipeline::addCleanupPasses(PassManager& pm) {
6465 pm.addPass (createRemoveDeadValuesPass ());
6566}
6667
68+ void QuantumCompilerPipeline::addOptimizationPasses (PassManager& pm) {
69+ // Always run all optimization passes for now
70+ pm.addPass (qco::createGateDecompositionPass ());
71+ }
72+
6773void QuantumCompilerPipeline::configurePassManager (PassManager& pm) const {
6874 // Enable timing statistics if requested
6975 if (config_.enableTiming ) {
You can’t perform that action at this time.
0 commit comments