//===- bolt/Passes/RegAnalysis.h --------------------------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef BOLT_PASSES_REGANALYSIS_H #define BOLT_PASSES_REGANALYSIS_H #include "llvm/ADT/BitVector.h" #include <cstdint> #include <map> namespace llvm { class MCInst; namespace bolt { class BinaryContext; class BinaryFunction; class BinaryFunctionCallGraph; /// Determine the set of registers read or clobbered for each instruction /// in a BinaryFunction. If the instruction is a call, this analysis rely on /// a call graph traversal to accurately extract the set of registers touched /// after the call returns. class RegAnalysis { … }; } // namespace bolt } // namespace llvm #endif