For a runtime loop if we can compute its trip count upperbound:
Don't unroll if:
- loop is not guaranteed to run either zero or upperbound iterations; and
- trip count upperbound is less than UnrollMaxUpperBound
Unless user or TTI asked to do so.
If unrolling, limit unroll factor to loop's trip count upperbound.