getLineNumber() was counting the number of line feeds from the start of the buffer to the current token. For large linker scripts this became a performance bottleneck. For one 4MB linker script over 4 minutes was spent in getLineNumber's StringRef::count. Store the line number from the last token, and only count the additional line feeds since the last token. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D104137
9.5 KiB
9.5 KiB