[all-commits] [llvm/llvm-project] 40c284: AArch64: Move outline atomic libcalls configuration

Matt Arsenault via All-commits all-commits at lists.llvm.org
Mon Jun 16 17:44:07 PDT 2025


  Branch: refs/heads/users/arsenm/aarch64/move-outline-atomic-libcall-setting-runtime-libcalls
  Home:   https://github.com/llvm/llvm-project
  Commit: 40c284a11c370463586e9b7d88b5d659bf702096
      https://github.com/llvm/llvm-project/commit/40c284a11c370463586e9b7d88b5d659bf702096
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-06-17 (Tue, 17 Jun 2025)

  Changed paths:
    M llvm/lib/IR/RuntimeLibcalls.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp

  Log Message:
  -----------
  AArch64: Move outline atomic libcalls configuration

This de-conditionalizes the setting of the libcall names
on outlineAtomics() && !hasLSE(). The existence of the
libcall is a module level property, which cannot depend on the
subtarget so this is fine. It's better if the initial list of
calls has more entries than will be used than to have missing
ones. There aren't any alternative names set, so this is also
fine.

Currently RuntimeLibcallsInfo conflates the existence of the calls
with the lowering usage decision, so this suboptimally will report
the libcall name on subtargets that should not use the calls. This
doesn't matter in this case though, as the atomic lowering actions
are already separately controlled and aren't based on decisions on
libcall availability. We could be paranoid and clear the names in
TargetLowering.

Also fixes not catching all aarch64 triples in the RuntimeLibcallsInfo
construction; the previous check missed aarch64_be.



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