[NewOffloadModel] Refactor device compiler and linker option parsing in ClangLinkerWrapper (#21055)
This patch refactors the parsing of device compiler and linker options
in `clang-linker-wrapper`.
The specific changes are listed below:
1. Merged `appendSYCLDeviceOptionsAtLinkTime()` directly into
`getLinkerArgs()` in ClangLinkerWrapper.cpp, so the ArgList returned by
`getLinkerArgs()` includes both `linker_arg_EQ` and `compiler_arg_EQ`
options, which are the filtered options of `OPT_device_linker_args_EQ`
and `OPT_device_compiler_args_EQ`.
2. `OPT_compiler_arg_EQ` and `OPT_linker_arg_EQ` are now storing both
the options passed to the backend compiler and the options passed to the
Clang command for linking.
With this patch, the SYCL E2E test
`KernelAndProgram/kernel-bundle-merge-options-env.cpp` pass with the new
offloading mode.
---------
Co-authored-by: yixing.zhang <yixingzh@smtp.igk.intel.com>