[all-commits] [llvm/llvm-project] 6aec18: [PowerPC] Further refactor atomic loads

Kai Nacke via All-commits all-commits at lists.llvm.org
Mon Apr 27 12:43:56 PDT 2026


  Branch: refs/heads/users/redstar/ppcatomicload2
  Home:   https://github.com/llvm/llvm-project
  Commit: 6aec18226fea74d385cd301612b1f84e634c4f18
      https://github.com/llvm/llvm-project/commit/6aec18226fea74d385cd301612b1f84e634c4f18
  Author: Kai Nacke <kai.peter.nacke at ibm.com>
  Date:   2026-04-27 (Mon, 27 Apr 2026)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.td

  Log Message:
  -----------
  [PowerPC] Further refactor atomic loads

Depending on the availability of the word-part feature, different code
is generated for 1 and 2 byte atomic loads. This change moves the decision
to use the word-part feature from C++ into TableGen patterns. This is done
via:

 - move code from `EmitPartwordAtomicBinary()` into new function
   'signExtendOperandIfUnknown()'
 - decouple functions `EmitPartwordAtomicBinary()` and `EmitAtomicBinary()`
 - remove the size from the name of the pseudo instructions; instead,
   introduce a pseudo instruction which is used in case the word-part
   feature is missing
 - update the handling of the pseudo instruction insertion accordingly

A side effect of this change is the implementation requires 11 pseudo
instructions less.



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