[all-commits] [llvm/llvm-project] f1d8e4: Clarify invariants of software pipelining hooks
RoboTux via All-commits
all-commits at lists.llvm.org
Tue Mar 29 03:44:24 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: f1d8e46258c6a08ca1a375dc9670dd5581d6cf65
https://github.com/llvm/llvm-project/commit/f1d8e46258c6a08ca1a375dc9670dd5581d6cf65
Author: Thomas Preud'homme <thomasp at graphcore.ai>
Date: 2022-03-29 (Tue, 29 Mar 2022)
Changed paths:
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
Log Message:
-----------
Clarify invariants of software pipelining hooks
PowerPC backend relies on each pair of prologue/epilogue of a software
pipelined loop to correspond to a single iteration a the loop through
its use of the BDZ instruction to skip inner prologues/epilogues and
loop kernel. However the interface does not make it clear that it is a
valid way to check that the trip count is big enough to execute inner
prologues/epilogues and kernel loop.
The API also does not specify in which order of prologues the
createTripCountGreaterCondition() hook is being called. Knowing that it
starts with the last/innermost prologues can help recording some
information when createTripCountGreaterCondition() is first executed and
reuse it in setPreheader() or adjustTripCount().
This commit documents both aspects.
Reviewed By: jmolloy
Differential Revision: https://reviews.llvm.org/D122642
More information about the All-commits
mailing list