Files
revng-revng/include/revng/EarlyFunctionAnalysis/IndirectBranchInfoPrinterPass.h
Alessandro Di Federico ee0b8f44c1 Introduce BinaryImporter
This is a big step to split revng-lift in two parts: one that only
writes the model and one that actually lifts to LLVM IR.

* Introduce `revng import binary`
* Split off `BinaryFile.h`
* Drop `revng.h`
* `GeneratedCodeBasicInfo`: use model
* Reduce role of `GeneratedCodeBasicInfo` in favor of
  `model::Architecture` and `model::Register` methods
* `CodeGenerator`: adopt `RawBinaryView` and model
* `JumpTargetManager`: adopt `RawBinaryView` and model
* `ExternalJumpsHandler`: adopt model
* `InstructionTranslator`: discard `Architecture` in favor of
  `EndianessMismatch`
* Many other changes
2022-03-08 15:15:24 +01:00

22 lines
483 B
C++

#pragma once
//
// This file is distributed under the MIT License. See LICENSE.md for details.
//
#include "llvm/IR/PassManager.h"
class IndirectBranchInfoPrinterPass
: public llvm::PassInfoMixin<IndirectBranchInfoPrinterPass> {
llvm::raw_fd_ostream &OS;
public:
IndirectBranchInfoPrinterPass(llvm::raw_fd_ostream &OS) : OS(OS){};
llvm::PreservedAnalyses
run(llvm::Function &F, llvm::FunctionAnalysisManager &FAM);
private:
void serialize(llvm::CallBase *Call);
};