By rewritting ScalarizerVisitor::getVectorLayout in such a way it returns VectorLayout (or None) it becomes obvious that VectorLayout::VecAlign cannot be 0.
This patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790
You should start the review from here.