When trying to calculate the offsets for the jump table entries
we fail to take into account the block alignment, which could be
greater than 4 bytes. This led to cases where the jump table
offset was too big to fit in a byte.
Details
Details
Diff Detail
Diff Detail
Event Timeline
llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp | ||
---|---|---|
331 | It appears like this error unfortunately can also be triggered by valid LLVM IR. @t.p.northover put up a patch to remove the error D88085. I am not sure if there is a more targeted way to only detect transforms in the backend that result in invalid overflows. |
This isn't handled in valueFitsIntoFixupKind, and probably shouldn't hit the default of true if Value is non-zero.