Files
revng-revng/include/revng/StackAnalysis/SegregateDirectStackAccesses.h
Antonio Frighetto 2d46979813 Introduce SegregateDirectStackAccessesPass
A pass which segregates direct stack accesses from all other
memory accesses through appropriate alias information metadata.
By doing so, we provide a way to say that stack accesses reasonably
do not interfere with any other memory access. This pass also tries
to canonicalize `inttoptr` + `add` instructions into `getelementptr`s
so as to avoid the use of `inttoptr`, which would otherwise inhibit
compiler optimizations.
2021-12-10 12:30:11 +01:00

18 lines
374 B
C++

#pragma once
//
// This file is distributed under the MIT License. See LICENSE.md for details.
//
#include "llvm/IR/PassManager.h"
#include "revng/Support/revng.h"
class SegregateDirectStackAccessesPass
: public llvm::PassInfoMixin<SegregateDirectStackAccessesPass> {
public:
llvm::PreservedAnalyses
run(llvm::Function &F, llvm::FunctionAnalysisManager &FAM);
};