Revert "[mlir] Python: Parse ModuleOp from file path" (#126482)

Reverts llvm/llvm-project#125736

The gcc7 Bot is broken at the moment.
This commit is contained in:
Mehdi Amini
2025-02-10 09:09:58 +01:00
committed by GitHub
parent 30e7c10146
commit 67b7a2590f
6 changed files with 2 additions and 52 deletions

View File

@@ -309,10 +309,6 @@ MLIR_CAPI_EXPORTED MlirModule mlirModuleCreateEmpty(MlirLocation location);
MLIR_CAPI_EXPORTED MlirModule mlirModuleCreateParse(MlirContext context,
MlirStringRef module);
/// Parses a module from file and transfers ownership to the caller.
MLIR_CAPI_EXPORTED MlirModule
mlirModuleCreateParseFromFile(MlirContext context, MlirStringRef fileName);
/// Gets the context that a module was created with.
MLIR_CAPI_EXPORTED MlirContext mlirModuleGetContext(MlirModule module);

View File

@@ -23,7 +23,6 @@
#endif
#include <nanobind/nanobind.h>
#include <nanobind/ndarray.h>
#include <nanobind/stl/filesystem.h>
#include <nanobind/stl/function.h>
#include <nanobind/stl/optional.h>
#include <nanobind/stl/pair.h>

View File

@@ -6,7 +6,6 @@
//
//===----------------------------------------------------------------------===//
#include <filesystem>
#include <optional>
#include <utility>
@@ -300,7 +299,7 @@ struct PyAttrBuilderMap {
return *builder;
}
static void dunderSetItemNamed(const std::string &attributeKind,
nb::callable func, bool replace) {
nb::callable func, bool replace) {
PyGlobals::get().registerAttributeBuilder(attributeKind, std::move(func),
replace);
}
@@ -3050,19 +3049,6 @@ void mlir::python::populateIRCore(nb::module_ &m) {
},
nb::arg("asm"), nb::arg("context").none() = nb::none(),
kModuleParseDocstring)
.def_static(
"parse",
[](const std::filesystem::path &path,
DefaultingPyMlirContext context) {
PyMlirContext::ErrorCapture errors(context->getRef());
MlirModule module = mlirModuleCreateParseFromFile(
context->get(), toMlirStringRef(path.string()));
if (mlirModuleIsNull(module))
throw MLIRError("Unable to parse module assembly", errors.take());
return PyModule::forModule(module).releaseObject();
},
nb::arg("asm"), nb::arg("context").none() = nb::none(),
kModuleParseDocstring)
.def_static(
"create",
[](DefaultingPyLocation loc) {

View File

@@ -22,7 +22,6 @@
#include "mlir/IR/Location.h"
#include "mlir/IR/Operation.h"
#include "mlir/IR/OperationSupport.h"
#include "mlir/IR/OwningOpRef.h"
#include "mlir/IR/Types.h"
#include "mlir/IR/Value.h"
#include "mlir/IR/Verifier.h"
@@ -329,15 +328,6 @@ MlirModule mlirModuleCreateParse(MlirContext context, MlirStringRef module) {
return MlirModule{owning.release().getOperation()};
}
MlirModule mlirModuleCreateParseFromFile(MlirContext context,
MlirStringRef fileName) {
OwningOpRef<ModuleOp> owning =
parseSourceFile<ModuleOp>(unwrap(fileName), unwrap(context));
if (!owning)
return MlirModule{nullptr};
return MlirModule{owning.release().getOperation()};
}
MlirContext mlirModuleGetContext(MlirModule module) {
return wrap(unwrap(module).getContext());
}

View File

@@ -46,7 +46,6 @@ import abc
import collections
from collections.abc import Callable, Sequence
import io
from pathlib import Path
from typing import Any, ClassVar, TypeVar, overload
__all__ = [
@@ -2124,7 +2123,7 @@ class Module:
Creates an empty module
"""
@staticmethod
def parse(asm: str | bytes | Path, context: Context | None = None) -> Module:
def parse(asm: str | bytes, context: Context | None = None) -> Module:
"""
Parses a module's assembly format from a string.

View File

@@ -1,8 +1,6 @@
# RUN: %PYTHON %s | FileCheck %s
import gc
from pathlib import Path
from tempfile import NamedTemporaryFile
from mlir.ir import *
@@ -29,24 +27,6 @@ def testParseSuccess():
print(str(module))
# Verify successful parse from file.
# CHECK-LABEL: TEST: testParseFromFileSuccess
# CHECK: module @successfulParse
@run
def testParseFromFileSuccess():
ctx = Context()
with NamedTemporaryFile(mode="w") as tmp_file:
tmp_file.write(r"""module @successfulParse {}""")
tmp_file.flush()
module = Module.parse(Path(tmp_file.name), ctx)
assert module.context is ctx
print("CLEAR CONTEXT")
ctx = None # Ensure that module captures the context.
gc.collect()
module.operation.verify()
print(str(module))
# Verify parse error.
# CHECK-LABEL: TEST: testParseError
# CHECK: testParseError: <