[ARM] Fix "Constant pool entry out of range!" in Thumb1 mode
authorAna Pazos <apazos@codeaurora.org>
Fri, 23 Mar 2018 17:53:27 +0000 (17:53 +0000)
committerAna Pazos <apazos@codeaurora.org>
Fri, 23 Mar 2018 17:53:27 +0000 (17:53 +0000)
commit41573804f278a6ff3bbc43217c6d4b3bb415df73
treecdb4db63a99c0e9a4ca4658b90b90c2ce4b43b1a
parent083960d1d1faf544b3f6e993c49d06a532dff339
[ARM] Fix "Constant pool entry out of range!" in Thumb1 mode

This patch fixes PR36658, "Constant pool entry out of range!" in Thumb1 mode.

In ARMConstantIslands::optimizeThumb2JumpTables() in Thumb1 mode,
adjustBBOffsetsAfter() is not calculating postOffset correctly by
properly accounting for the padding that is required for the constant pool
that immediately follows the jump table branch  instruction.

Reviewers: t.p.northover, eli.friedman

Reviewed By: t.p.northover

Subscribers: chrib, tstellar, javed.absar, kristof.beyls, llvm-commits

Differential Revision: https://reviews.llvm.org/D44709

llvm-svn: 328341
llvm/lib/Target/ARM/ARMComputeBlockSize.cpp
llvm/test/CodeGen/Thumb/PR36658.mir [new file with mode: 0644]