[all-commits] [llvm/llvm-project] 01061e: [SystemZ] Improve shouldCoalesce() for i128. (#74942)

Jonas Paulsson via All-commits all-commits at lists.llvm.org
Thu Dec 14 06:55:41 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 01061ed370448a758ccab89c2fcc31f795d4fe8a
      https://github.com/llvm/llvm-project/commit/01061ed370448a758ccab89c2fcc31f795d4fe8a
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2023-12-14 (Thu, 14 Dec 2023)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp
    M llvm/test/CodeGen/SystemZ/atomicrmw-ops-i128.ll
    M llvm/test/CodeGen/SystemZ/atomicrmw-xchg-07.ll

  Log Message:
  -----------
  [SystemZ] Improve shouldCoalesce() for i128. (#74942)

The SystemZ implementation of shouldCoalesce() is merely a workaround
for the fact that regalloc can run out of registers when extending 128-bit
intervals with subreg (GPR64/GPR32) COPYs. 

This patch adds more freedom to the coalescer as it now only checks that
the subreg interval is local to MBB and does not have too many physreg
clobbers.




More information about the All-commits mailing list