[Sample Profile] Why is there a limit on line number of a sample profile to be 16-bit?

For sample profiles, in lib/ProfileData/SampleProfReader.cpp, isOffsetLegal() is being used at several locations to check if the line offset of a sample is less than 0xFFFF, otherwise the reader exits with error. However the data structure LineLocation holding line offset and discriminator pair uses uint32_t for line offset. Furthermore the check is not consistently enforced.
I know that for GCC format line offset is 16-bit, but since SampleProfWriter does not support converting the sample profile back to GCC format, is there any reason to keep this check? It is not entirely unrealistic to have a source code file with more than 2^16 lines.