Go to the documentation of this file.
35 "Invalid line block record size");
37 if (LineInfoSize > Size)
39 "Invalid line block record size");
78 Blocks.emplace_back(Offset);
82 Block &
B = Blocks.back();
86 B.Lines.push_back(LNE);
93 Block &
B = Blocks.back();
94 assert(
B.Lines.size() ==
B.Columns.size());
100 B.Columns.push_back(CNE);
113 for (
const auto &
B : Blocks) {
115 assert(
B.Lines.size() ==
B.Columns.size() ||
B.Columns.empty());
122 BlockHeader.
NameIndex =
B.ChecksumBufferOffset;
139 for (
const auto &
B : Blocks) {
150 RelocOffset = Offset;
151 RelocSegment = Segment;
void createBlock(StringRef FileName)
Error commit(BinaryStreamWriter &Writer) const override
This is an optimization pass for GlobalISel generic memory operations.
FixedStreamArray< ColumnNumberEntry > Columns
Error initialize(BinaryStreamReader Reader)
Provides write only access to a subclass of WritableBinaryStream.
static ErrorSuccess success()
Create a success value.
support::ulittle32_t Flags
DebugLinesSubsectionRef()
Represents a read-write view of a CodeView string table.
uint64_t bytesRemaining() const
Error writeArray(ArrayRef< T > Array)
Writes an array of objects of type T to the underlying stream, as if by using memcpy.
void setFlags(LineFlags Flags)
bool hasColumnInfo() const
support::ulittle16_t StartColumn
Error operator()(BinaryStreamRef Stream, uint32_t &Len, LineColumnEntry &Item)
support::ulittle32_t NameIndex
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")
Provides read only access to a subclass of BinaryStream.
void addLineInfo(uint32_t Offset, const LineInfo &Line)
support::ulittle32_t Offset
uint32_t mapChecksumOffset(StringRef FileName) const
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
void addLineAndColumnInfo(uint32_t Offset, const LineInfo &Line, uint32_t ColStart, uint32_t ColEnd)
Error readObject(const T *&Dest)
Get a pointer to an object of type T from the underlying stream, as if by memcpy, and store the resul...
const LineFragmentHeader * Header
void setRelocationAddress(uint16_t Segment, uint32_t Offset)
Error writeObject(const T &Obj)
Writes the object Obj to the underlying stream, as if by using memcpy.
StringRef - Represent a constant reference to a string, i.e.
FixedStreamArray< LineNumberEntry > LineNumbers
support::ulittle16_t EndColumn
Lightweight error class with error context and mandatory checking.
bool hasColumnInfo() const
ArrayRef< T > makeArrayRef(const T &OneElt)
Construct an ArrayRef from a single element.
const Extractor & getExtractor() const
uint32_t calculateSerializedSize() const override
DebugLinesSubsection(DebugChecksumsSubsection &Checksums, DebugStringTableSubsection &Strings)
void setCodeSize(uint32_t Size)
Error readArray(ArrayRef< T > &Array, uint32_t NumElements)
Get a reference to a NumElements element array of objects of type T from the underlying stream as if ...
BinaryStreamRef is to BinaryStream what ArrayRef is to an Array.