This came in as an unexpected requirement for the D40650.
Before this change we were doing constant folding only for the unrecognised instructions. For the recognised ones we were calling specific constant fold functions from their respective simplification functions. However this specific constant folding functions are slightly weaker that the general ConstantFoldInstruction because they don't fold operands. Turns out that for the insertelement we need full power of the ConstantFoldInstruction or we are going to fail some of the lit tests.
It felt like running constant folding after all InstSimplify transformations is more direct solution rather then trying to include constant folding into each of the simplification functions. Although this mostly affects insertelement case but we can improve later simply by removing constant folding from the simplification functions. This will give us better folding with less effort.