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:
Duncan P. N. Exon Smith
2015-02-06 22:50:13 +00:00
parent 4752dabe97
commit 8713d99a25
5 changed files with 13 additions and 22 deletions

View File

@ -538,21 +538,20 @@ TEST_F(MDLocationTest, Overflow) {
EXPECT_EQ(2u, L->getLine());
EXPECT_EQ(7u, L->getColumn());
}
unsigned U24 = 1u << 24;
unsigned U16 = 1u << 16;
{
MDLocation *L = MDLocation::get(Context, U24 - 1, U16 - 1, N);
EXPECT_EQ(U24 - 1, L->getLine());
MDLocation *L = MDLocation::get(Context, UINT32_MAX, U16 - 1, N);
EXPECT_EQ(UINT32_MAX, L->getLine());
EXPECT_EQ(U16 - 1, L->getColumn());
}
{
MDLocation *L = MDLocation::get(Context, U24, U16, N);
EXPECT_EQ(0u, L->getLine());
MDLocation *L = MDLocation::get(Context, UINT32_MAX, U16, N);
EXPECT_EQ(UINT32_MAX, L->getLine());
EXPECT_EQ(0u, L->getColumn());
}
{
MDLocation *L = MDLocation::get(Context, U24 + 1, U16 + 1, N);
EXPECT_EQ(0u, L->getLine());
MDLocation *L = MDLocation::get(Context, UINT32_MAX, U16 + 1, N);
EXPECT_EQ(UINT32_MAX, L->getLine());
EXPECT_EQ(0u, L->getColumn());
}
}