Skip to content

Commit c818f56

Browse files
committed
add GateDecompositionPass to compiler pipeline
1 parent fb19be3 commit c818f56

3 files changed

Lines changed: 13 additions & 1 deletion

File tree

mlir/include/mlir/Compiler/CompilerPipeline.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff 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
*

mlir/lib/Compiler/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff 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
2728
file(GLOB_RECURSE COMPILER_HEADERS_SOURCE "${MQT_MLIR_SOURCE_INCLUDE_DIR}/mlir/Compiler/*.h")

mlir/lib/Compiler/CompilerPipeline.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
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+
6773
void QuantumCompilerPipeline::configurePassManager(PassManager& pm) const {
6874
// Enable timing statistics if requested
6975
if (config_.enableTiming) {

0 commit comments

Comments
 (0)