Optimizations are nice and all. But they should not ever be allowed to change the behaviour of the program, from what is expected by reading the code.
There are good uses for infinite loops.
The good uses cases for trivial infinite loops is a vanishingly small subset of infinite loops.
The good uses cases for trivial infinite loops is a vanishingly small subset of infinite loops.