[all-commits] [llvm/llvm-project] ff4636: Refactor recomputeLiveIns to converge on added Mac...

Oskar Wirga via All-commits all-commits at lists.llvm.org
Tue Jan 30 19:33:16 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ff4636a4ab00b633c15eb3942c26126ceb2662e6
      https://github.com/llvm/llvm-project/commit/ff4636a4ab00b633c15eb3942c26126ceb2662e6
  Author: Oskar Wirga <10386631+oskarwirga at users.noreply.github.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/LivePhysRegs.h
    M llvm/include/llvm/CodeGen/MachineBasicBlock.h
    M llvm/lib/CodeGen/BranchFolding.cpp
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
    M llvm/lib/Target/PowerPC/PPCExpandAtomicPseudoInsts.cpp
    M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
    M llvm/lib/Target/X86/X86FrameLowering.cpp
    M llvm/test/CodeGen/SystemZ/branch-folder-hoist-livein.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/spillingmove.mir

  Log Message:
  -----------
  Refactor recomputeLiveIns to converge on added MachineBasicBlocks (#79940)

This is a fix for the regression seen in
https://github.com/llvm/llvm-project/pull/79498

> Currently, the way that recomputeLiveIns works is that it will
recompute the livein registers for that MachineBasicBlock but it matters
what order you call recomputeLiveIn which can result in incorrect
register allocations down the line.

Now we do not recompute the entire CFG but we do ensure that the newly
added MBB do reach convergence.




More information about the All-commits mailing list