[all-commits] [llvm/llvm-project] 3fe72b: X86: Stop using MachineFunction in getPointerRegClass

Matt Arsenault via All-commits all-commits at lists.llvm.org
Thu Sep 4 06:02:02 PDT 2025


  Branch: refs/heads/users/arsenm/x86/avoid-using-machine-function-getPointerRegClass
  Home:   https://github.com/llvm/llvm-project
  Commit: 3fe72b6bcfa87e1734c92f52a69c7cf372162a3b
      https://github.com/llvm/llvm-project/commit/3fe72b6bcfa87e1734c92f52a69c7cf372162a3b
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-09-04 (Thu, 04 Sep 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86AsmPrinter.cpp
    M llvm/lib/Target/X86/X86ExpandPseudo.cpp
    M llvm/lib/Target/X86/X86FrameLowering.cpp
    M llvm/lib/Target/X86/X86InstrCompiler.td
    M llvm/lib/Target/X86/X86InstrControl.td
    M llvm/lib/Target/X86/X86InstrPredicates.td
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    M llvm/lib/Target/X86/X86RegisterInfo.h

  Log Message:
  -----------
  X86: Stop using MachineFunction in getPointerRegClass

This should be a low level function used to interpret an
MCInstrDesc that only depends on the hwmode. It should not depend
on other dynamic context like the parent function. In general more
ABI properties like this should be expressed directly in the instruction
definitions, so introduce new TCRETURN pseudos to use with the special
case register classes (e.g. in a better future the callee saved registers
would always be encoded directly in a mask on the return instruction).

This will help unify X86 onto a pending replacement mechanism for
getPointerRegClass.



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