Skip to content

Introduce placement pass#2900

Draft
yenjames wants to merge 3 commits intological-tile-ironfrom
sequential-placer-pass
Draft

Introduce placement pass#2900
yenjames wants to merge 3 commits intological-tile-ironfrom
sequential-placer-pass

Conversation

@yenjames
Copy link
Collaborator

@yenjames yenjames commented Feb 26, 2026

Note: This PR is responsible for CI testing for #2899 too
Currently breaking tests with trace support because logicalTileOp has no mapping for trace operations yet

Summary

This PR implements the --aie-place-tiles pass with sequential placer algorithm, completing logical-to-physical tile mapping.

Changes

  • New pass definition that can be extended with other placer algorithm.
  • Follows structure similar to AIEPathfinder pass.
  • Placement pass happens first in aiecc.

Limitation

  • IRON pipeline now reports validation like DMA channel usage after MLIR is generated, may be difficult to match to IRON object created by user. Suggestion: add the same validation in IRON.
  • Inheriting placer from IRON means this current placer cannot handle devices with ShimPL tiles.

@yenjames yenjames force-pushed the sequential-placer-pass branch from 05ef19a to 077a736 Compare February 27, 2026 22:19
@github-actions
Copy link
Contributor

Coverage Report

Created: 2026-02-27 22:43

Click here for information about interpreting this report.

FilenameFunction CoverageLine CoverageRegion CoverageBranch Coverage
include/aie/Dialect/AIE/Transforms/AIEPasses.h 100.00% 100.00% 100.00% -
include/aie/Dialect/AIE/Transforms/AIEPlacer.h 57.14% 57.14% 66.67% -
lib/Conversion/AIEVecToLLVM/AIEVecToLLVM.cpp 93.68% 85.50% 81.49% 67.32%
lib/Dialect/AIE/IR/AIEDialect.cpp 90.78% 86.53% 87.58% 79.39%
lib/Dialect/AIE/Transforms/AIEAssignBuffers.cpp 96.30% 88.06% 89.42% 82.84%
lib/Dialect/AIE/Transforms/AIECoreToStandard.cpp 96.67% 88.12% 83.84% 75.78%
lib/Dialect/AIE/Transforms/AIEPlaceTiles.cpp 100.00% 81.58% 80.95% 60.00%
lib/Dialect/AIE/Transforms/AIEPlacer.cpp 100.00% 94.41% 92.36% 85.29%
lib/Dialect/AIEVec/IR/AIEVecOps.cpp 93.06% 74.49% 73.00% 57.55%
lib/Dialect/AIEVec/Transforms/VectorToAIEVecConversions.cpp 77.27% 69.71% 59.29% 47.44%
lib/Dialect/AIEX/Transforms/AIEDMATasksToNPU.cpp 95.45% 86.19% 90.50% 79.89%
Totals 88.12% 80.11% 75.45% 63.71%
Generated by llvm-cov -- llvm version 18.1.3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant