On Thu, Apr 02, 2020 at 11:12:48AM +0200, Richard Biener wrote: > > "The implementation may assume that any thread will eventually do one of the > > following: > > — terminate, > > — make a call to a library I/O function, > > — perform an access through a volatile glvalue, or > > — perform a synchronization operation or an atomic operation. > > [Note: This is intended to allow compiler transformations such as removal of > > empty loops, even when termination cannot be proven. — end note]"
With -ffinite-loops, do we actually not optimize if the loop has volatile accesses or atomics or library I/O calls? Jakub