9#ifndef LLVM_DEBUGINFO_CODEVIEW_LINE_H
10#define LLVM_DEBUGINFO_CODEVIEW_LINE_H
65 static const uint32_t StartColumnMask = 0x0000ffffu;
66 static const uint32_t EndColumnMask = 0xffff0000u;
67 static const int EndColumnShift = 16;
72 (
static_cast<uint32_t>(StartColumn) & StartColumnMask) |
73 ((
static_cast<uint32_t>(EndColumn) << EndColumnShift) & EndColumnMask);
77 return static_cast<uint16_t>(ColumnData & StartColumnMask);
81 return static_cast<uint16_t>((ColumnData & EndColumnMask) >>
100 : CodeOffset(CodeOffset), LineInf(StartLine, EndLine, IsStatement),
101 ColumnInf(StartColumn, EndColumn) {}
104 : CodeOffset(CodeOffset), LineInf(LineInf), ColumnInf(ColumnInf) {}
ColumnInfo(uint16_t StartColumn, uint16_t EndColumn)
uint32_t getRawData() const
uint16_t getStartColumn() const
uint16_t getEndColumn() const
bool isNeverStepInto() const
uint32_t getRawData() const
LineInfo(uint32_t LineData)
@ NeverStepIntoLineNumber
@ AlwaysStepIntoLineNumber
uint32_t getLineDelta() const
bool isAlwaysStepInto() const
uint32_t getEndLine() const
LLVM_ABI LineInfo(uint32_t StartLine, uint32_t EndLine, bool IsStatement)
uint32_t getStartLine() const
uint16_t getEndColumn() const
uint16_t getStartColumn() const
int32_t getCodeOffset() const
bool isAlwaysStepInto() const
uint32_t getLineDelta() const
ColumnInfo getColumnInfo() const
LineInfo getLineInfo() const
uint32_t getStartLine() const
Line(int32_t CodeOffset, LineInfo LineInf, ColumnInfo ColumnInf)
bool isNeverStepInto() const
Line(int32_t CodeOffset, uint32_t StartLine, uint32_t EndLine, uint16_t StartColumn, uint16_t EndColumn, bool IsStatement)
uint32_t getEndLine() const
detail::packed_endian_specific_integral< uint32_t, llvm::endianness::little, unaligned > ulittle32_t
This is an optimization pass for GlobalISel generic memory operations.