[PATCH] D37171: [cfi] Avoid branch veneers in jump tables when possible.

Evgenii Stepanov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 25 17:56:43 PDT 2017


eugenis created this revision.
Herald added subscribers: hiraditya, kristof.beyls, javed.absar, mehdi_amini, aemerson.

When jumptable encoding does not match target code encoding (arm vs
thumb), a veneer is inserted by the linker. We can not avoid this
in all cases, because entries within one jumptable must have the same
encoding, but we can make it less common by selecting the jumptable
encoding to match the majority of its targets.

This change only covers FullLTO, and not ThinLTO.


https://reviews.llvm.org/D37171

Files:
  llvm/lib/Transforms/IPO/LowerTypeTests.cpp
  llvm/test/Transforms/LowerTypeTests/function-arm-thumb.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D37171.112769.patch
Type: text/x-patch
Size: 6666 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170826/c0dc43ed/attachment.bin>


More information about the llvm-commits mailing list