diff --git a/include/revng/Model/LoadModelPass.h b/include/revng/Model/LoadModelPass.h index 640994f47..cccd739d7 100644 --- a/include/revng/Model/LoadModelPass.h +++ b/include/revng/Model/LoadModelPass.h @@ -25,9 +25,9 @@ public: public: const model::Binary &getReadOnlyModel() const { return *TheBinary; } - model::Binary &getWriteableModel() { + TupleTree &getWriteableModel() { HasChanged = true; - return *TheBinary; + return TheBinary; } bool hasChanged() const { return HasChanged; } diff --git a/lib/Model/SerializeModelPass.cpp b/lib/Model/SerializeModelPass.cpp index 2dc57357a..61602dd3c 100644 --- a/lib/Model/SerializeModelPass.cpp +++ b/lib/Model/SerializeModelPass.cpp @@ -42,13 +42,13 @@ void writeModel(model::Binary &Model, llvm::Module &M) { } bool SerializeModelWrapperPass::runOnModule(Module &M) { - writeModel(getAnalysis().get().getWriteableModel(), M); + writeModel(*getAnalysis().get().getWriteableModel(), M); return false; } llvm::PreservedAnalyses SerializeModelPass::run(llvm::Module &M, llvm::ModuleAnalysisManager &MAM) { auto &ModelWrapper = MAM.getResult(M); - writeModel(ModelWrapper.getWriteableModel(), M); + writeModel(*ModelWrapper.getWriteableModel(), M); return PreservedAnalyses::all(); } diff --git a/lib/StackAnalysis/StackAnalysis.cpp b/lib/StackAnalysis/StackAnalysis.cpp index 3ff323357..40d99751f 100644 --- a/lib/StackAnalysis/StackAnalysis.cpp +++ b/lib/StackAnalysis/StackAnalysis.cpp @@ -462,7 +462,7 @@ bool StackAnalysis::runOnModule(Module &M) { serialize(pathToStream(ABIAnalysisOutputPath, Output)); } - commitToModel(GCBI, &F, GrandResult, LMP.getWriteableModel()); + commitToModel(GCBI, &F, GrandResult, *LMP.getWriteableModel()); return false; }