[Driver][SYCL][NewOffloadModel] Pull in device libraries at device compile (#21672)
Pull in the device libraries during compile time when using the new
offload model. This is done by using the -mlink-builtin-bitcode option,
passing in each individual device library as needed.
This frees up the responsibility of linking in the device libraries
during link time, and requiring the driver to pass any libraries needed
to the clang-linker-wrapper or having the clang-linker-wrapper figure
out what device libraries are needed at link.
With this move, the new.o device libraries are no longer used during the
device linking stage using the clang-linker-wrapper. Made updates to the
build to stop creating these binaries.
Reland of
https://github.com/intel/llvm/commit/c2a9bf8624be441f01993ea5a0bb1b19b72d56b8
Updated the SYCLInstallationDetector constructor, as there were two and
we only need one. The mix of these caused a disconnect in populating the
library search locations.