[PATCH] D52156: [LLD] [COFF] Alternative ARM range thunk algorithm

Martin Storsjö via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Sep 16 14:31:10 PDT 2018


mstorsjo created this revision.
mstorsjo added reviewers: ruiu, peter.smith, pcc, rnk.
Herald added a reviewer: javed.absar.
Herald added subscribers: chrib, kristof.beyls.

This is an alternative to https://reviews.llvm.org/D51089, attempting to implement @ruiu's suggestion. The whole mechanism for restarting and extending the margin is untested so far.

I'm undecided whether I prefer this or not; it's much simpler in one sense, but much more verbose in another way - this requires two separate steps for adding thunks and verifying whether they were ok. And the extra bookkeeping for being able to revert back to original feels a bit clumsy...

And I still don't know how to best make a test for the case when the default margin isn't enough...


Repository:
  rLLD LLVM Linker

https://reviews.llvm.org/D52156

Files:
  COFF/Chunks.cpp
  COFF/Chunks.h
  COFF/MapFile.cpp
  COFF/PDB.cpp
  COFF/Writer.cpp
  COFF/Writer.h
  test/COFF/Inputs/far-arm-thumb-abs.s
  test/COFF/Inputs/far-arm-thumb-abs20.s
  test/COFF/arm-thumb-branch-error.s
  test/COFF/arm-thumb-branch20-error.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D52156.165697.patch
Type: text/x-patch
Size: 18923 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180916/59654092/attachment.bin>


More information about the llvm-commits mailing list