Files
revng-revng/include/revng/FunctionIsolation/InvokeIsolatedFunctions.h
2024-06-20 10:24:50 +02:00

30 lines
700 B
C++

#pragma once
//
// This file is distributed under the MIT License. See LICENSE.md for details.
//
#include <memory>
#include "llvm/Pass.h"
#include "revng/BasicAnalyses/GeneratedCodeBasicInfo.h"
#include "revng/Model/LoadModelPass.h"
class InvokeIsolatedFunctionsPass : public llvm::ModulePass {
public:
static char ID;
public:
InvokeIsolatedFunctionsPass() : llvm::ModulePass(ID) {}
bool runOnModule(llvm::Module &M) override;
void getAnalysisUsage(llvm::AnalysisUsage &AU) const override {
AU.addRequired<GeneratedCodeBasicInfoWrapperPass>();
AU.addRequired<LoadModelWrapperPass>();
AU.addRequired<pipeline::LoadExecutionContextPass>();
AU.setPreservesAll();
}
};