33 ModuleOp moduleOp = getOperation();
35 for (
auto deviceOp : moduleOp.getOps<AIETarget>()) {
43 OpBuilder builder(moduleOp->getContext());
45 Location location = builder.getUnknownLoc();
46 auto deviceOp = DeviceOp::create(
48 AIEDeviceAttr::get(builder.getContext(), AIEDevice::xcvc1902),
49 StringAttr::get(builder.getContext(),
50 DeviceOp::getDefaultDeviceName()));
52 deviceOp.getRegion().takeBody(moduleOp.getBodyRegion());
53 new (&moduleOp->getRegion(0)) Region(moduleOp);
54 moduleOp->getRegion(0).emplaceBlock();
56 DeviceOp::ensureTerminator(deviceOp.getBodyRegion(), builder, location);
57 OpBuilder builder2 = OpBuilder::atBlockBegin(moduleOp.getBody());
58 builder2.insert(deviceOp);