[PATCH] D65606: [ARM] Fix invalid symbol redefinition due to duplicated jumptable (PR42760)

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 2 12:27:16 PDT 2019


nikic added a comment.

I've reduced the test case to a more reasonable size now...

In D65606#1611070 <https://reviews.llvm.org/D65606#1611070>, @efriedma wrote:

> It's probably feasible to teach constant islands and the asmprinter to handle jump tables with multiple uses correctly, but if we've disabled it for ARM/Thumb2 I'm fine doing the same for Thumb1.


I just checked over all the jumptable opcodes: All the ARM+Thumb2 were marked, and all the Thumb1 weren't. I've now added the isNotDuplicable annotation to `tTBB_JT` and `tTBH_JT` as well.

As to actually making the duplication work, I don't really have a handle on how complicated that would be. We should probably land a minimal fix first in any case, because this also needs to go into the LLVM9 branch.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D65606/new/

https://reviews.llvm.org/D65606





More information about the llvm-commits mailing list