14 : max(static_cast<int>(device.
getTargetModel().getMaxPacketId())) {
15 if (AIEDialect::ReserveControllerPacketIdsAttrHelper(device.getContext())
16 .isAttrPresent(device)) {
17 for (auto [tile, id] :
18 device.getTargetModel().getTileToControllerIdMap(true))
20 for (auto tile : device.getOps<TileOp>())
21 if (auto id = tile->getAttrOfType<PacketInfoAttr>(
"controller_id");
22 id && id.isAssigned())
23 taken.insert(id.assignedId());
25 device.walk([&](PacketFlowOp flow) { taken.insert(flow.IDInt()); });
26 device.walk([&](TracePacketOp packet) {
27 if (std::optional<int32_t> id = packet.getId()) {
31 auto pinned = [&](PacketInfoAttr header) {
32 if (header && header.isAssigned()) {
33 taken.insert(header.assignedId());
36 for (
auto route : device.getOps<RouteOp>()) {
37 pinned(route.getPacketAttr());
39 for (
auto fifo : device.getOps<ObjectFifoCreateOp>()) {
40 pinned(fifo.packetHeader());