(original) (raw)
It is certainly helping - Thanks Renato.
2015-07-06 18:39 GMT+03:00 Renato Golin <renato.golin@linaro.org>:
On 6 July 2015 at 16:32, Eric Bentura <ebentura@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