[PATCH] D122642: Clarify invariants of software pipelining hooks
Thomas Preud'homme via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 29 03:44:20 PDT 2022
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rGf1d8e46258c6: Clarify invariants of software pipelining hooks (authored by thopre).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D122642/new/
https://reviews.llvm.org/D122642
Files:
llvm/include/llvm/CodeGen/TargetInstrInfo.h
Index: llvm/include/llvm/CodeGen/TargetInstrInfo.h
===================================================================
--- llvm/include/llvm/CodeGen/TargetInstrInfo.h
+++ llvm/include/llvm/CodeGen/TargetInstrInfo.h
@@ -734,12 +734,16 @@
virtual bool shouldIgnoreForPipelining(const MachineInstr *MI) const = 0;
/// Create a condition to determine if the trip count of the loop is greater
- /// than TC.
+ /// than TC, where TC is always one more than for the previous prologue or
+ /// 0 if this is being called for the outermost prologue.
///
/// If the trip count is statically known to be greater than TC, return
/// true. If the trip count is statically known to be not greater than TC,
/// return false. Otherwise return nullopt and fill out Cond with the test
/// condition.
+ ///
+ /// Note: This hook is guaranteed to be called from the innermost to the
+ /// outermost prologue of the loop being software pipelined.
virtual Optional<bool>
createTripCountGreaterCondition(int TC, MachineBasicBlock &MBB,
SmallVectorImpl<MachineOperand> &Cond) = 0;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D122642.418833.patch
Type: text/x-patch
Size: 1158 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220329/31b3cd15/attachment.bin>
More information about the llvm-commits
mailing list