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
Loading
Please register or sign in to comment