[all-commits] [llvm/llvm-project] 098b0d: [LLD][AArch64] Detach Landing Pad creation from Th...

Peter Smith via All-commits all-commits at lists.llvm.org
Fri Nov 15 10:18:39 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 098b0d18add97dea94e16006486b2fded65e228d
      https://github.com/llvm/llvm-project/commit/098b0d18add97dea94e16006486b2fded65e228d
  Author: Peter Smith <peter.smith at arm.com>
  Date:   2024-11-15 (Fri, 15 Nov 2024)

  Changed paths:
    M lld/ELF/Relocations.cpp
    M lld/ELF/Relocations.h

  Log Message:
  -----------
  [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.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list