This allow user to register a callback that can annotate operations
during software pipelining. This allows user potential annotate op to
know what part of the pipeline they correspond to.
This is analogue to what is done in loop unrolling: https://reviews.llvm.org/D107789
I think for enum class we just need to use style like Prologue, Kernel, etc.? All caps are for enum and there is no need to have the prefix anymore given enum class would need namespace anyway.