Rory McIlroy's back-nine charge to win