When using SCEVExpander, passes are obliged to make sure that what they request
to expand is safe in terms of expander. We are going to enforce this adding an assert
that it is safe to expand what we request.
This patch makes sure that we only expand what is safe to expand in IndVarSimplify,
in particular that we don't expand division by potential zero.
Hm, I'm not sold on this. If AR is expandable (which we know since we got it from a PHI in the IR, right?) sext(AR) and zext(AR) should also be expandable.