[PATCH] D102002: [PassManager] unify vector passes between regular and LTO pipelines
Roman Lebedev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu May 6 10:27:12 PDT 2021
lebedev.ri added a comment.
A not-very-helpful rant:
I think it is good that we Unroll after LV,
but i'm uncertain about SLP and Unroll relative ordering.
One would guess that Unroll might introduce extra opportunities for SLP,
but then proper LoopVectorize //should// have caught them already.
On the other hand, as comment mentions
// Unroll small loops to hide loop backedge latency and saturate any parallel
// execution resources of an out-of-order processor. We also then need to
// clean up redundancies and loop invariant code.
so if SLP vectorized code, it may no longer be saturated, and unrolling may be beneficial.
(So i would think we should keep Unroll at the end.)
On the other hand, i'm kinda surprised that we don't do unrolling before LV,
specifically so that it would peel some conditions,
and thus simplify in-loop code.
I'm also unsure about LoopLoadElimination - how exactly does it help?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D102002/new/
https://reviews.llvm.org/D102002
More information about the llvm-commits
mailing list