From dad1634065931ca5e0590fdcc48fd76fb8ade48c Mon Sep 17 00:00:00 2001 From: Alessandro Di Federico Date: Wed, 29 Oct 2025 10:20:22 +0100 Subject: [PATCH] RemoveHelperCalls: drop copy of OpaqueRegisterUser --- lib/BasicAnalyses/RemoveHelperCalls.cpp | 32 +------------------------ 1 file changed, 1 insertion(+), 31 deletions(-) diff --git a/lib/BasicAnalyses/RemoveHelperCalls.cpp b/lib/BasicAnalyses/RemoveHelperCalls.cpp index 5f396417c..a82102fdf 100644 --- a/lib/BasicAnalyses/RemoveHelperCalls.cpp +++ b/lib/BasicAnalyses/RemoveHelperCalls.cpp @@ -10,37 +10,7 @@ #include "revng/BasicAnalyses/RemoveHelperCalls.h" #include "revng/Support/IRHelpers.h" - -class OpaqueRegisterUser { -private: - llvm::Module *M; - OpaqueFunctionsPool Clobberers; - -public: - OpaqueRegisterUser(llvm::Module *M) : M(M), Clobberers(M, false) { - using namespace llvm; - Clobberers.setMemoryEffects(MemoryEffects::readOnly()); - Clobberers.addFnAttribute(Attribute::NoUnwind); - Clobberers.addFnAttribute(Attribute::WillReturn); - Clobberers.setTags({ &FunctionTags::ClobbererFunction }); - Clobberers.initializeFromName(FunctionTags::ClobbererFunction); - } - -public: - llvm::StoreInst *clobber(revng::IRBuilder &Builder, - llvm::GlobalVariable *CSV) { - auto *CSVTy = CSV->getValueType(); - std::string Name = "clobber_" + CSV->getName().str(); - llvm::Function *Clobberer = Clobberers.get(Name, CSVTy, {}, Name); - return Builder.CreateStore(Builder.CreateCall(Clobberer), CSV); - } - - llvm::StoreInst *clobber(revng::IRBuilder &Builder, - model::Register::Values Value) { - return clobber(Builder, - M->getGlobalVariable(model::Register::getCSVName(Value))); - } -}; +#include "revng/Support/OpaqueRegisterUser.h" static bool isCallToAbort(const llvm::Instruction *I) { const llvm::Function *Callee = getCallee(I);