aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenFunction.cpp
diff options
context:
space:
mode:
authorPeter Smith <peter.smith@arm.com>2024-11-15 18:18:18 +0000
committerGitHub <noreply@github.com>2024-11-15 18:18:18 +0000
commit098b0d18add97dea94e16006486b2fded65e228d (patch)
treeb892125899cc52a2d420435003896fd6680e933f /clang/lib/CodeGen/CodeGenFunction.cpp
parentef92aba52a58cda8d670de8ce936455949746468 (diff)
downloadllvm-098b0d18add97dea94e16006486b2fded65e228d.zip
llvm-098b0d18add97dea94e16006486b2fded65e228d.tar.gz
llvm-098b0d18add97dea94e16006486b2fded65e228d.tar.bz2
[LLD][AArch64] Detach Landing Pad creation from Thunk creation (#116402)
Move Landing Pad Creation to a new function that checks each thunk every pass to see if it needs a landing pad. This permits a thunk to be created without needing a landing pad, but later needing one due to drifting out of direct branch range and requiring an indirect branch. We record all the Thunks created so far in a new vector rather than trying to iterate over the DenseMap as we need a deterministic order of adding LandingPadThunks due to the short branch fall through. We cannot use normalizeExistingThunk() either as that only iterates through live thunks. Fixes: https://crbug.com/377438309 Original PR: https://github.com/llvm/llvm-project/pull/108989 Sending without a new test case to fix existing test. A new regression test will come in a separate PR as coming up with a small enough reproducer for this case is non-trivial.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
0 files changed, 0 insertions, 0 deletions