moved compiler passes for storage and user provider to before removing compilation phase

added missing parameter user_provider