Files
revng-revng/lib/RestructureCFG/GenericRegionPass.cpp
Alessandro Di Federico 143c315196 Merge revng-c into revng
2024-11-21 10:50:55 +01:00

34 lines
912 B
C++

//
// Copyright rev.ng Labs Srl. See LICENSE.md for details.
//
#include "revng/RestructureCFG/GenericRegionInfo.h"
#include "revng/RestructureCFG/GenericRegionPass.h"
char GenericRegionPass::ID = 0;
static constexpr const char *Flag = "generic-region-info";
using Reg = llvm::RegisterPass<GenericRegionPass>;
static Reg X(Flag, "Perform the generic region identification analysis");
bool GenericRegionPass::runOnFunction(llvm::Function &F) {
// Run the `GenericRegionInfo`
GRI.clear();
GRI.compute(&F);
// The goal of `RegionIdentificationPass` is to just perform an analysis
// which does not perform changes to the IR
return false;
}
void GenericRegionPass::getAnalysisUsage(llvm::AnalysisUsage &AU) const {
// This is a read only analysis, that does not touch the IR
AU.setPreservesAll();
}
const GenericRegionInfo<llvm::Function *> &GenericRegionPass::getResult() {
return GRI;
}