The SPIR-V Backend requires refactoring wrt. a way it's working with user facing options. While the options data set as a bunch of global static cl::opt may be ok from the perspective of llc runs, it doesn't work with an expectedly multithreading host environment that is to make use of the SPIR-V Backend API. See #124653 as a demo of needs to refactor SPIR-V Backend design in this part.