Files
Pietro Fezzardi 51c5131554 Clifter.h: include Function.h instead of Module.h
The Clifter public header only needs llvm::Function, not the full
llvm::Module definition, so drop the Module.h include. This
shaves a non-trivial amount of compile time off the translation
units that depend on Clifter.h without pulling in Module.h
themselves.
2026-05-08 11:37:10 +02:00

30 lines
621 B
C++

#pragma once
//
// This file is distributed under the MIT License. See LICENSE.md for details.
//
#include "llvm/IR/Function.h"
#include "revng/Clift/Clift.h"
#include "revng/Model/Binary.h"
namespace clift {
class Clifter {
public:
static std::unique_ptr<Clifter> make(mlir::ModuleOp Module,
const model::Binary &Model);
virtual ~Clifter() = default;
virtual clift::FunctionOp import(const llvm::Function *Function) = 0;
protected:
Clifter() = default;
Clifter(const Clifter &) = default;
Clifter &operator=(const Clifter &) = default;
};
} // namespace clift