[SCEV] Simplify trunc-of-add/mul to add/mul-of-trunc under more circumstances.
Previously we would do this simplification only if it did not introduce
any new truncs (excepting new truncs which replace other cast ops).
This change weakens this condition: If the number of truncs stays the
same, but we're able to transform trunc(X + Y) to X + trunc(Y), that's
still simpler, and it may open up additional transformations.
While we're here, also clean up some duplicated code.
Subscribers: hiraditya, llvm-commits
Differential Revision: https://reviews.llvm.org/D48160