CliftImportModel: ensure DataModel is set

This commit is contained in:
Ivan Krysak
2026-05-28 14:15:34 +00:00
committed by Pietro Fezzardi
parent 4c6fe97059
commit 6ff6b8d699
2 changed files with 8 additions and 1 deletions
+1 -1
View File
@@ -5,4 +5,4 @@
revng_add_library_internal(revngCliftImportModel SHARED
ImportDescriptiveInfo.cpp ImportTypes.cpp Verify.cpp)
target_link_libraries(revngCliftImportModel revngClift revngModel)
target_link_libraries(revngCliftImportModel revngABI revngClift revngModel)
+7
View File
@@ -8,6 +8,7 @@
#include "mlir/IR/BuiltinOps.h"
#include "revng/ABI/Definition.h"
#include "revng/ADT/RecursiveCoroutine.h"
#include "revng/Clift/Clift.h"
#include "revng/Clift/CliftAttributes.h"
@@ -728,6 +729,8 @@ clift::importSegmentDeclaration(mlir::ModuleOp Module,
void clift::importAllModelTypes(const model::Binary &Model,
mlir::ModuleOp Module) {
clift::setDataModel(Module, abi::getDataModel(Model));
mlir::MLIRContext *Context = Module.getContext();
mlir::Location Loc = mlir::UnknownLoc::get(Context);
auto EmitError = [&]() -> mlir::InFlightDiagnostic {
@@ -775,6 +778,8 @@ clift::FunctionOp importAnyFunctionDeclaration(const FunctionT &MF,
void clift::importAllModelFunctionDeclarations(const model::Binary &Model,
mlir::ModuleOp Module) {
clift::setDataModel(Module, abi::getDataModel(Model));
for (const auto &ModelFunction : Model.Functions()) {
importAnyFunctionDeclaration(ModelFunction,
revng::ranks::Function,
@@ -813,6 +818,8 @@ static mlir::Type importSegmentType(const model::Segment &Segment,
void clift::importAllModelSegmentDeclarations(const model::Binary &Model,
mlir::ModuleOp Module) {
clift::setDataModel(Module, abi::getDataModel(Model));
for (const auto &Segment : Model.Segments()) {
std::string Handle = pipeline::locationString(revng::ranks::Segment,
Segment.key());