//===-- llvm/CodeGen/DebugLocEntry.h - Entry in debug_loc list -*- 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 LLVM_LIB_CODEGEN_ASMPRINTER_DEBUGLOCENTRY_H #define LLVM_LIB_CODEGEN_ASMPRINTER_DEBUGLOCENTRY_H #include "DebugLocStream.h" #include "llvm/Config/llvm-config.h" #include "llvm/IR/Constants.h" #include "llvm/IR/DebugInfo.h" #include "llvm/MC/MCSymbol.h" #include "llvm/MC/MachineLocation.h" #include "llvm/Support/Debug.h" namespace llvm { class AsmPrinter; /// This struct describes target specific location. struct TargetIndexLocation { … }; /// A single location or constant within a variable location description, with /// either a single entry (with an optional DIExpression) used for a DBG_VALUE, /// or a list of entries used for a DBG_VALUE_LIST. class DbgValueLocEntry { … }; /// The location of a single variable, composed of an expression and 0 or more /// DbgValueLocEntries. class DbgValueLoc { … }; /// This struct describes location entries emitted in the .debug_loc /// section. class DebugLocEntry { … }; /// Compare two DbgValueLocEntries for equality. inline bool operator==(const DbgValueLocEntry &A, const DbgValueLocEntry &B) { … } /// Compare two DbgValueLocs for equality. inline bool operator==(const DbgValueLoc &A, const DbgValueLoc &B) { … } /// Compare two fragments based on their offset. inline bool operator<(const DbgValueLoc &A, const DbgValueLoc &B) { … } } #endif