[all-commits] [llvm/llvm-project] 5357dd: [MachinePipeliner] Fix Phi generation failure for ...

ytmukai via All-commits all-commits at lists.llvm.org
Mon Aug 8 21:15:04 PDT 2022

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5357dd2f43a5aab28f34b69e7d3742dd50cbad98
  Author: Yuta Mukai <mukai.yuta at fujitsu.com>
  Date:   2022-08-09 (Tue, 09 Aug 2022)

  Changed paths:
    M llvm/include/llvm/CodeGen/ModuloSchedule.h
    M llvm/lib/CodeGen/ModuloSchedule.cpp
    A llvm/test/CodeGen/PowerPC/sms-large-stages.mir

  Log Message:
  [MachinePipeliner] Fix Phi generation failure for large stages

The previous code overwrites VRMap for prologue stages during Phi
generation if a register spans many stages.
As a result, the wrong register is used as the one coming from
the prologue in Phis at later stages. (A process exists to correct
this, but it does not work in all cases.)
In addition, VRMap for prologue must be preserved until addBranches().

This patch fixes them by separating the map for Phis into a different
variable (VRMapPhi).

Reviewed By: bcahoon

Differential Revision: https://reviews.llvm.org/D127840

More information about the All-commits mailing list