HomePhabricator

[AArch64] Return the correct size for TLSDESC_CALLSEQ

Description

[AArch64] Return the correct size for TLSDESC_CALLSEQ

The branch relaxation pass is computing the wrong offsets because it assumes
TLSDESC_CALLSEQ eats up 4 bytes, when in fact it is lowered to an instruction
sequence taking up 16 bytes. This can become a problem in huge files with lots
of TLS accesses, as it may slowly move branch targets out of the range computed
by the branch relaxation pass.

Fixes PR24234 https://llvm.org/bugs/show_bug.cgi?id=24234

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

Details

Committed
rovkaAug 1 2016, 1:38 AM
Differential Revision
D22870: [AArch64] Return the correct size for TLSDESC_CALLSEQ
Parents
rL277330: [AVX-512] Fix a test missed in r277327.
Branches
Unknown
Tags
Unknown