Extracting Synchronization-free chains of dependent iterations in non-uniform loops