[Ibis] Add CSE before tunneling

This commit is contained in:
Morten Borup Petersen 2023-09-28 08:43:30 +00:00
parent 6b73873825
commit 303fddeb8b
1 changed files with 5 additions and 0 deletions

View File

@ -26,6 +26,11 @@ static std::unique_ptr<Pass> createSimpleCanonicalizerPass() {
void circt::ibis::loadIbisLowLevelPassPipeline(mlir::PassManager &pm) {
pm.addPass(createContainerizePass());
// Pre-tunneling CSE pass. This ensures that duplicate get_port calls are
// removed before we start tunneling - no reason to tunnel the same thing
// twice.
pm.addPass(mlir::createCSEPass());
pm.addPass(createTunnelingPass(IbisTunnelingOptions{"", ""}));
pm.addPass(createPortrefLoweringPass());
pm.addPass(createSimpleCanonicalizerPass());