29 return UnrealizedConversionCastOp::create(builder, loc, resultType, inputs)
38 addConversion([](
Type type) -> std::optional<Type> {
44 addConversion([&](MemRefType memRefType) -> std::optional<Type> {
48 Type convertedElementType = convertType(memRefType.getElementType());
49 if (!convertedElementType)
52 if (memRefType.getRank() == 0)
53 return emitc::PointerType::get(convertedElementType);
54 return emitc::ArrayType::get(memRefType.getShape(), convertedElementType);
57 addSourceMaterialization(materializeAsUnrealizedCast);
58 addTargetMaterialization(materializeAsUnrealizedCast);
MLIRContext is the top-level object for a collection of MLIR operations.