Loop Re-Ordering and Pre-Fetching at Run-time