30 ModuleOp moduleOp = getOperation();
32 for (
auto deviceOp : moduleOp.getOps<AIETarget>()) {
40 OpBuilder builder(moduleOp->getContext());
42 Location location = moduleOp.getLoc();
43 auto deviceOp = DeviceOp::create(
45 AIEDeviceAttr::get(builder.getContext(), AIEDevice::xcvc1902),
46 StringAttr::get(builder.getContext(),
47 DeviceOp::getDefaultDeviceName()));
49 deviceOp.getRegion().takeBody(moduleOp.getBodyRegion());
50 new (&moduleOp->getRegion(0)) Region(moduleOp);
51 moduleOp->getRegion(0).emplaceBlock();
53 DeviceOp::ensureTerminator(deviceOp.getBodyRegion(), builder, location);
54 OpBuilder builder2 = OpBuilder::atBlockBegin(moduleOp.getBody());
55 builder2.insert(deviceOp);