Use while loop for progressions that cannot overflow (instead of

do-while with enclosing "not empty" check).

Also do not add additional "not empty" condition for `until` loops when
the given bound is a constant != MIN_VALUE.
This commit is contained in:
Mark Punzalan
2019-03-29 10:33:30 -07:00
committed by max-kammerer
parent ba0e016c4e
commit 7680e7fd56
25 changed files with 403 additions and 94 deletions
@@ -0,0 +1,14 @@
const val M = Int.MAX_VALUE
fun f(a: Int) {
for (i in a..M) {
}
}
// 0 iterator
// 0 getStart
// 0 getEnd
// 0 getFirst
// 0 getLast
// 0 getStep
// 2 IF_ICMP