[all-commits] [llvm/llvm-project] 3ea36f: CodeGen: Treat subreg-to-subreg copies as isFullCo...

Matt Arsenault via All-commits all-commits at lists.llvm.org
Mon Dec 16 01:24:04 PST 2024


  Branch: refs/heads/users/arsenm/permit-subregisters-in-is-full-copy
  Home:   https://github.com/llvm/llvm-project
  Commit: 3ea36fb381038e7be179ac40ff65a9d03df9a07b
      https://github.com/llvm/llvm-project/commit/3ea36fb381038e7be179ac40ff65a9d03df9a07b
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
    M llvm/test/CodeGen/AMDGPU/splitkit-copy-bundle.mir
    M llvm/test/CodeGen/AMDGPU/splitkit-copy-live-lanes.mir
    M llvm/test/CodeGen/AVR/inline-asm/inline-asm3.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
    M llvm/test/CodeGen/Thumb2/mve-vst3.ll
    M llvm/test/CodeGen/Thumb2/mve-vst4.ll

  Log Message:
  -----------
  CodeGen: Treat subreg-to-subreg copies as isFullCopyInstr

This enables better copy folding during allocation.

I'm assuming the intent of this function is to identify copies
that do not change the register width (i.e. not subregister
insert or extract). Permit exact match subregisters since this
should result in a full copy for the final allocated copy.

This should probably be more permissive still. I think it should
accept any cases where getSubRegisterClass is the same for both
subregister indexes.



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