//===- MCCodeView.h - Machine Code CodeView support -------------*- 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 // //===----------------------------------------------------------------------===// // // Holds state from .cv_file and .cv_loc directives for later emission. // //===----------------------------------------------------------------------===// #ifndef LLVM_MC_MCCODEVIEW_H #define LLVM_MC_MCCODEVIEW_H #include "llvm/ADT/ArrayRef.h" #include "llvm/ADT/DenseMap.h" #include "llvm/ADT/SmallVector.h" #include "llvm/ADT/StringMap.h" #include "llvm/ADT/StringRef.h" #include <map> #include <vector> namespace llvm { class MCAssembler; class MCCVDefRangeFragment; class MCCVInlineLineTableFragment; class MCDataFragment; class MCFragment; class MCSection; class MCSymbol; class MCContext; class MCObjectStreamer; class MCStreamer; /// Instances of this class represent the information from a /// .cv_loc directive. class MCCVLoc { … }; /// Information describing a function or inlined call site introduced by /// .cv_func_id or .cv_inline_site_id. Accumulates information from .cv_loc /// directives used with this function's id or the id of an inlined call site /// within this function or inlined call site. struct MCCVFunctionInfo { … }; /// Holds state from .cv_file and .cv_loc directives for later emission. class CodeViewContext { … }; } // end namespace llvm #endif