This patch now only adds the executable dirs to the program path, the code to search them is now in D72903.
The previous code constructed the executable paths for llvm-link, opt, lld, llc and clang-offload-bundler from the path to the compiler. This change uses cmake to find the directory containing llvm and lld and adds them to the ProgramPath.
The test completed without error (except one which failed even without my patch) and I was able to confirm successful compilation using the hip toolchain by compiling a simple program with clang, lld, and llvm executables in different directories.