[LLVMdev] ARM Jump table pcrelative relaxation in clang (original) (raw)
Eric Bentura ebentura at gmail.com
Mon Jul 6 11:13:16 PDT 2015
- Previous message: [LLVMdev] ARM Jump table pcrelative relaxation in clang / llc
- Next message: [LLVMdev] ARM Jump table pcrelative relaxation in clang / llc
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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>
- Previous message: [LLVMdev] ARM Jump table pcrelative relaxation in clang / llc
- Next message: [LLVMdev] ARM Jump table pcrelative relaxation in clang / llc
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]