aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorJessica Clarke <jrtc27@jrtc27.com>2025-07-22 16:44:18 +0100
committerGitHub <noreply@github.com>2025-07-22 16:44:18 +0100
commit4b99eb2eb49d8fcdb29ba494501e481cf09831ae (patch)
tree21bd6555a1dac1fce9fb6f40a73b0908695eeee8 /clang/lib/Frontend/CompilerInvocation.cpp
parentdd36a6901249796a175c3058a50d97cc3a7ba52c (diff)
downloadllvm-4b99eb2eb49d8fcdb29ba494501e481cf09831ae.zip
llvm-4b99eb2eb49d8fcdb29ba494501e481cf09831ae.tar.gz
llvm-4b99eb2eb49d8fcdb29ba494501e481cf09831ae.tar.bz2
[Sparc] Remove bogus stack adjustment for LD/GD TLS (#149890)
This argument is the number of bytes to adjust the stack by for the duration of the call. In most cases, PEI is able to eliminate the corresponding call frame pseudos, folding them into the initial stack frame allocation (rounded up to stack alignment), where it just ends up allocating more space than needed. However, in the rare case where this cannot be done, e.g. due to the use of a dynamic alloca, the 1 byte stack adjustment persists and results in a misaligned stack for the duration of the call. This has been the case ever since TLS support was added in cb1dca602c43 ("[Sparc] Add support for TLS in sparc."), and I can only assume that 1 was used erroneously thinking that it is the number of arguments (as there is 1 register argument for the call), not the number of bytes for on-stack arguments. Fixes: https://github.com/llvm/llvm-project/issues/149808
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions