[all-commits] [llvm/llvm-project] a43d25: [ModuloSchedule] Fix terminator update when peeling.
Hendrik Greving via All-commits
all-commits at lists.llvm.org
Mon Jun 6 12:52:55 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: a43d25734a46788da47a1a3786b3cd2bca540a72
https://github.com/llvm/llvm-project/commit/a43d25734a46788da47a1a3786b3cd2bca540a72
Author: Hendrik Greving <hgreving at google.com>
Date: 2022-06-06 (Mon, 06 Jun 2022)
Changed paths:
M llvm/lib/CodeGen/MachineLoopUtils.cpp
M llvm/lib/CodeGen/ModuloSchedule.cpp
Log Message:
-----------
[ModuloSchedule] Fix terminator update when peeling.
Fixes a bug of us not correctly updating the terminator of the loop's
preheader, if multiple terminating branch instructions are present.
This is tested through existing tests. The bug itself is hard or not
possible to get exposed with the upstream Hexagon backend, because
the machine pipeliner checks for an existing preheader, which is
defined as a block with only 1 edge into the header.
The condition of this bug is a block into the loop with more than 1
edge, and not every downstream target checks for an existing preheader.
Differential Revision: https://reviews.llvm.org/D126386
More information about the All-commits
mailing list