[LLVMdev] ARM Jump table pcrelative relaxation in clang / llc

Eric Bentura ebentura at gmail.com
Mon Jul 6 11:13:16 PDT 2015


It is certainly helping - Thanks Renato.

2015-07-06 18:39 GMT+03:00 Renato Golin <renato.golin at linaro.org>:

> On 6 July 2015 at 16:32, Eric Bentura <ebentura at gmail.com> wrote:
> > I tried to build the object file using clang 3.7 and it fails with the
> same
> > error.
> > Where should I look at in the ARM backend to understand what happens?
> > Where the jump table instruction is generated and supposed to be relaxed?
>
> Have a look at lib/Target/ARM/ARMConstantIslandPass.cpp, especially
> where Tim's patch touches:
>
> http://llvm.org/viewvc/llvm-project?view=revision&revision=238680
>
> Instruction relaxation rules should be in the TableGen files, I think,
> but that means it could be in a number of places.
>
> Step through lib/Target/ARM/ARMAsmPrinter.cpp, at
> ARMAsmPrinter::EmitJumpTableInsts and see what the operand is.
>
> You'd expect that it would be already relaxed by that point. If it is,
> the bug is in the printer. If not, it could be in the instruction
> selection process, either ARMISelLowering or during validation, at
> ARMISelDAGToDAG.
>
> Hope that helps.
>
> cheers,
> --renato
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150706/97f8827c/attachment.html>


More information about the llvm-dev mailing list