[VPlan] Move call widening decision to VPlan. (NFCI) (#195518)
This patch adds a new makeCallWideningDecisions transform which converts
Call VPInstructions to
VPWidenCallRecipe/VPWidenIntrinsicRecipe/VPReplicateRecipe depending on
their costs.
To compute the costs, static helpers are introduced to re-use the
existing VPlan cost model logic:
* VPWidenIntrinsicRecipe::computeCallCost
* VPReplicateRecipe::computeCallCost
The cost-model logic is still retained; we assert that the decisions
match to make sure we do not miss any edge cases. The legacy logic will
be removed in a follow-up.
PR: https://github.com/llvm/llvm-project/pull/195518