[PATCH] D127840: [MachinePipeliner] Fix Phi generation failure for large stages
Yuta Mukai via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jun 15 02:54:31 PDT 2022
ytmukai created this revision.
ytmukai added a reviewer: bcahoon.
Herald added subscribers: hiraditya, nemanjai.
Herald added a project: All.
ytmukai requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
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).
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D127840
Files:
llvm/include/llvm/CodeGen/ModuloSchedule.h
llvm/lib/CodeGen/ModuloSchedule.cpp
llvm/test/CodeGen/PowerPC/sms-large-stages.mir
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D127840.437092.patch
Type: text/x-patch
Size: 24856 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220615/a1a167e3/attachment-0001.bin>
More information about the llvm-commits
mailing list