mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-20 10:24:12 +00:00
IR: Allow 32-bits for lines in debug location
Remove unnecessary restriction of 24-bits for line numbers in `MDLocation`. The rest of the debug info schema (with the exception of local variables) uses 32-bits for line numbers. As I introduce the specialized nodes, it makes sense to canonicalize on one size or the other. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228455 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -24,19 +24,12 @@ MDLocation::MDLocation(LLVMContext &C, StorageType Storage, unsigned Line,
|
||||
"Expected a scope and optional inlined-at");
|
||||
|
||||
// Set line and column.
|
||||
assert(Line < (1u << 24) && "Expected 24-bit line");
|
||||
assert(Column < (1u << 16) && "Expected 16-bit column");
|
||||
|
||||
SubclassData32 = Line;
|
||||
SubclassData16 = Column;
|
||||
}
|
||||
|
||||
static void adjustLine(unsigned &Line) {
|
||||
// Set to unknown on overflow. Still use 24 bits for now.
|
||||
if (Line >= (1u << 24))
|
||||
Line = 0;
|
||||
}
|
||||
|
||||
static void adjustColumn(unsigned &Column) {
|
||||
// Set to unknown on overflow. We only have 16 bits to play with here.
|
||||
if (Column >= (1u << 16))
|
||||
@ -47,8 +40,7 @@ MDLocation *MDLocation::getImpl(LLVMContext &Context, unsigned Line,
|
||||
unsigned Column, Metadata *Scope,
|
||||
Metadata *InlinedAt, StorageType Storage,
|
||||
bool ShouldCreate) {
|
||||
// Fixup line/column.
|
||||
adjustLine(Line);
|
||||
// Fixup column.
|
||||
adjustColumn(Column);
|
||||
|
||||
if (Storage == Uniqued) {
|
||||
|
Reference in New Issue
Block a user