OSDN Git Service

Merging r367753:
authorHans Wennborg <hans@hanshq.net>
Mon, 5 Aug 2019 07:49:21 +0000 (07:49 +0000)
committerHans Wennborg <hans@hanshq.net>
Mon, 5 Aug 2019 07:49:21 +0000 (07:49 +0000)
commit9ecdd63ae4604119f2da363b8c3e859d51345a2d
treee8a5c3c3fe1a7af43c9adcadafff8b79ee1c34c2
parent9899a07c8bd6ac3c0c58cf5c70439910f8125fc6
Merging r367753:
------------------------------------------------------------------------
r367753 | nikic | 2019-08-03 08:47:23 +0200 (Sat, 03 Aug 2019) | 12 lines

[Thumb] Fix invalid symbol redefinition due to duplicated jumptable (PR42760)

Fix for https://bugs.llvm.org/show_bug.cgi?id=42760. A tBR_JTr
instruction is duplicated by tail duplication, which results in
the same jumptable with the same label being emitted twice.

Fix this by marking tBR_JTr as not duplicable. The corresponding
ARM/Thumb instructions are already marked as not duplicable.
Additionally also mark tTBB_JT and tTBH_JT to be consistent with
Thumb2, even though this shouldn't be strictly necessary.

Differential Revision: https://reviews.llvm.org/D65606
------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_90@367808 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMInstrThumb.td
test/CodeGen/Thumb/pr42760.ll [new file with mode: 0644]