[PATCH] Allowing MC backends to decide relaxation based on fixup resolution

colinl at codeaurora.org colinl at codeaurora.org
Fri Mar 20 08:21:57 PDT 2015


Sure.  The constraints we have on Hexagon are instructions are always 32bit words and there's a limit of 4 words per instruction packet.  Extending calls and jumps requires adding an additional 32bit word which increases image size and decreases instructions per packet.

The alternate we sometimes use is letting the linker generate a trampoline which saves 1/2 the instruction size for every call site at the expense of an indirection.

For our 22bit jumps we never extend and for our 7, 9, 13, and 15bit jumps we extend if there's space in the packet.  We've brainstormed some new and interesting ways to put some more smarts in to this process in the future but this heuristic has worked fairly well so far.


REPOSITORY
  rL LLVM

http://reviews.llvm.org/D8217

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list