mirror of
https://github.com/revng/revng
synced 2026-06-21 14:07:57 +00:00
CliftImportModel: ensure DataModel is set
This commit is contained in:
committed by
Pietro Fezzardi
parent
4c6fe97059
commit
6ff6b8d699
@@ -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)
|
||||
|
||||
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user