[LoopUnroll] Allow unrolling if the unrolled size does not exceed loop size.
In the following cases, unrolling can be beneficial, even when
optimizing for code size:
- very low trip counts
- potential to constant fold most instructions after fully unrolling.
We can unroll in those cases, by setting the unrolling threshold to the
loop size. This might highlight some cost modeling issues and fixing
them will have a positive impact in general.
Reviewers: vsk, efriedma, dmgreen, paquette
Reviewed By: paquette
Differential Revision: https://reviews.llvm.org/D60265