[lld] r286100 - [ELF] Make InputSection<ELFT>::writeTo virtual

Rafael EspĂ­ndola via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 8 04:42:35 PST 2016


On 8 November 2016 at 07:00, Eugene Leviant <evgeny.leviant at gmail.com> wrote:
> VMTs themselves are not allocated (AFAIK they're stored in .rodata),
> so I guess the problem is in extra 4/8 bytes of VMT pointer size and
> overhead
> for initialization, correct?

Yes, in each input section.

> For dyn_cast you have extra 4 bytes for
> Kind + function call + compare-and-branch. Can you provide some
> proofs, that it is faster?
> (like you did in your previous letter).

The SectionKind only uses 3 bits in the input section. Really, the
issue is sizeof(InputSection<ELFT>). We are quite bounded by memory
access, so compacting structures is an important optimization.

Do you have an ETA? Would you mind reverting the patch for now?

Cheers,
Rafael


More information about the llvm-commits mailing list