HomePhabricator

Shrink SectionChunk by combining Relocs and SectionName sizes

Authored by rnk on May 3 2019, 1:17 PM.

Description

Shrink SectionChunk by combining Relocs and SectionName sizes

SectionChunk is one of the most frequently allocated data structures in
LLD, since there are about four per function when optimizations and
debug info are enabled (.text, .pdata, .xdata, .debug$S).

A PE COFF file cannot be larger than 2GB, so there is an inherent limit
on the length of the section name and the number of relocations.
Decompose the ArrayRef and StringRef into pointer and size, and put them
back together in the accessors for section name and relocation list.

I plan to gather complete performance numbers later by padding
SectionChunk with dead data and measuring performance after all the size
optimizations are done.

llvm-svn: 359923

Details

Committed
sidorovdMay 17 2019, 2:54 AM
Parents
rGf6e538c9b18f: [OPENMP][NVPTX]Improve thread limit counter, NFC.
Branches
Unknown
Tags
Unknown