david-arm wrote: One problem I see with this patch is that it forbids any kind of optimisation such as constant folding, which may want to return a result that isn't a VPInstruction. https://github.com/llvm/llvm-project/pull/108858