because sometimes users can't opt out
rustc
Please read the rustc-dev-guide chapter on Backend Agnostic Codegen.