[all-commits] [llvm/llvm-project] fa6f74: [clang-sycl-linker] Decouple link step from SYCL; ...

Yury Plyakhin via All-commits all-commits at lists.llvm.org
Fri May 29 08:08:50 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: fa6f7426a39977661a100547690c30e5a4b3691e
      https://github.com/llvm/llvm-project/commit/fa6f7426a39977661a100547690c30e5a4b3691e
  Author: Yury Plyakhin <yury.plyakhin at intel.com>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    M clang/docs/ClangSYCLLinker.rst
    R clang/test/Driver/Inputs/SYCL/bar.ll
    R clang/test/Driver/Inputs/SYCL/baz.ll
    R clang/test/Driver/Inputs/SYCL/foo.ll
    R clang/test/Driver/Inputs/SYCL/libLLVMSYCL.ll
    R clang/test/Driver/link-device-code.test
    M clang/test/Driver/sycl-link-spirv-target.cpp
    M clang/test/OffloadTools/clang-sycl-linker/basic.ll
    A clang/test/OffloadTools/clang-sycl-linker/link.ll
    M clang/test/OffloadTools/clang-sycl-linker/split-mode.ll
    M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
    M clang/tools/clang-sycl-linker/SYCLLinkOpts.td

  Log Message:
  -----------
  [clang-sycl-linker] Decouple link step from SYCL; adopt -L / --bc-library options (#199777)

The bitcode link phase in `clang-sycl-linker` is not SYCL-specific — it
  links input bitcode, then links library bitcode with `LinkOnlyNeeded`.
  This PR makes the implementation reflect that and aligns the option
  surface with `clang-nvlink-wrapper`.

  - Rename `linkDeviceCode` / `getSYCLDeviceLibs` and strip SYCL/device
    wording from verbose output, errors, and doc-comments. The
    `runSYCLLink` doc-comment is expanded to describe the full
    link → split → codegen → AOT → pack pipeline it actually drives.
  - Replace `--device-libs=a.bc,b.bc` with repeatable `--bc-library`,
    resolved against `-L` search paths. `-L` becomes the canonical form;
    `--library-path` / `--library-path=` are kept as hidden aliases and
    now accumulate (previously last-wins).
  - Consolidate the four `Inputs/SYCL/*.ll` fixtures and
`link-device-code.test` into one `split-file`-based `link.ll`; refresh
    affected check prefixes. New checks cover `-L` joined form,
    multi-`-L` fall-through, and first-match-wins ordering.
- ClangSYCLLinker.rst got a substantive refresh beyond doc-comments:
intro paragraphs rewritten, help-text block updated, dropped options
(-g,
-is-windows-msvc-env, -llvm-spirv-options=, --llvm-spirv-path=) and
added options (--module-split-mode, --ocloc-options,
--opencl-aot-options) so the doc
  matches current .td reality.

Assisted by claude.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list