Skipping execution rather than bailing out early means that: 1. Explicit teardown of JIT'd code will happen at the same point (via the call to ExecutionSession::endSession) regardless of whether -noexec is used. 2. The -show-times option will work with -noexec.