//===-- LVRange.cpp -------------------------------------------------------===// // // 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 // //===----------------------------------------------------------------------===// // // This implements the LVRange class. // //===----------------------------------------------------------------------===// #include "llvm/DebugInfo/LogicalView/Core/LVRange.h" #include "llvm/DebugInfo/LogicalView/Core/LVLocation.h" #include "llvm/DebugInfo/LogicalView/Core/LVOptions.h" usingnamespacellvm; usingnamespacellvm::logicalview; #define DEBUG_TYPE … void LVRange::startSearch() { … } // Add the pair in an ascending order, with the smallest ranges at the // start; in that way, enclosing scopes ranges are at the end of the // list; we assume that low <= high. void LVRange::addEntry(LVScope *Scope, LVAddress LowerAddress, LVAddress UpperAddress) { … } void LVRange::addEntry(LVScope *Scope) { … } // Get the scope associated with the input address. LVScope *LVRange::getEntry(LVAddress Address) const { … } // Find the associated Scope for the given ranges values. LVScope *LVRange::getEntry(LVAddress LowerAddress, LVAddress UpperAddress) const { … } // True if the range addresses contain the pair [LowerAddress, UpperAddress]. bool LVRange::hasEntry(LVAddress LowerAddress, LVAddress UpperAddress) const { … } // Sort the range elements for the whole Compile Unit. void LVRange::sort() { … } void LVRange::print(raw_ostream &OS, bool Full) const { … }