LLVM  12.0.0git
DWARFLocationExpression.cpp
Go to the documentation of this file.
1 //===- DWARFLocationExpression.cpp ----------------------------------------===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
12 
13 using namespace llvm;
14 
16  const DWARFLocationExpression &Loc) {
17  return OS << Loc.Range << ": "
18  << formatv("{0}", make_range(Loc.Expr.begin(), Loc.Expr.end()));
19 }
This class represents lattice values for constants.
Definition: AllocatorList.h:23
This provides a very simple, boring adaptor for a begin and end iterator into a range type...
auto formatv(const char *Fmt, Ts &&... Vals) -> formatv_object< decltype(std::make_tuple(detail::build_format_adapter(std::forward< Ts >(Vals))...))>
SmallVector< uint8_t, 4 > Expr
The expression itself.
iterator_range< T > make_range(T x, T y)
Convenience function for iterating over sub-ranges.
Represents a single DWARF expression, whose value is location-dependent.
raw_ostream & operator<<(raw_ostream &OS, const APInt &I)
Definition: APInt.h:2099
This class implements an extremely fast bulk output stream that can only output to a stream...
Definition: raw_ostream.h:46
Optional< DWARFAddressRange > Range
The address range in which this expression is valid.