[all-commits] [llvm/llvm-project] 806bbc: [OpenMP] Try to embed offloading objects after cod...

Joseph Huber via All-commits all-commits at lists.llvm.org
Mon Mar 14 17:09:07 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 806bbc49dc07465eddc883b09d48dd93fb64d147
      https://github.com/llvm/llvm-project/commit/806bbc49dc07465eddc883b09d48dd93fb64d147
  Author: Joseph Huber <jhuber6 at vols.utk.edu>
  Date:   2022-03-14 (Mon, 14 Mar 2022)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    A clang/test/Frontend/embed-object.c

  Log Message:
  -----------
  [OpenMP] Try to embed offloading objects after codegen

Currently we use the `-fembed-offload-object` option to embed a binary
file into the host as a named section. This is currently only used as a
codegen action, meaning we only handle this option correctly when the
input is a bitcode file. This patch adds the same handling to embed an
offloading object after we complete code generation. This allows us to
embed the object correctly if the input file is source or bitcode.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D120270


  Commit: 06b336c4cd2c91e0dec877cca1303eddaeb4ef79
      https://github.com/llvm/llvm-project/commit/06b336c4cd2c91e0dec877cca1303eddaeb4ef79
  Author: Joseph Huber <jhuber6 at vols.utk.edu>
  Date:   2022-03-14 (Mon, 14 Mar 2022)

  Changed paths:
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp

  Log Message:
  -----------
  [OpenMP] Implement dense map info for device file

This patch implements a DenseMap info struct for the device file type.
This is used to help grouping device files that have the same triple and
architecture. Because of this the filename, which will always be unique
for each file, is not used.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D120288


  Commit: 9f89769cd775ce6dc27cad0fbfdd94bf94bc8f99
      https://github.com/llvm/llvm-project/commit/9f89769cd775ce6dc27cad0fbfdd94bf94bc8f99
  Author: Joseph Huber <jhuber6 at vols.utk.edu>
  Date:   2022-03-14 (Mon, 14 Mar 2022)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/openmp-offload-gpu.c
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp

  Log Message:
  -----------
  [Clang] Add offload kind to embedded offload object

This patch adds the offload kind to the embedded section name in
preparation for offloading to different kinda like CUDA or HIP.

Depends on D120288

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D120271


  Commit: 23d885b3a2e8a1e0c22cfcbccec410865e7653c9
      https://github.com/llvm/llvm-project/commit/23d885b3a2e8a1e0c22cfcbccec410865e7653c9
  Author: Joseph Huber <jhuber6 at vols.utk.edu>
  Date:   2022-03-14 (Mon, 14 Mar 2022)

  Changed paths:
    M clang/include/clang/Driver/Compilation.h
    M clang/lib/Driver/Driver.cpp

  Log Message:
  -----------
  [OpenMP][NFC] Refactor new driver to be more general

This path refactors the new driver to be less dependent on OpenMP. This
is done in preparation for the new driver to be able to handle other
offloading kinds and compile them together.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D120934


  Commit: 24ebdb6c255e0168e4518cc7f0c465b53867abf8
      https://github.com/llvm/llvm-project/commit/24ebdb6c255e0168e4518cc7f0c465b53867abf8
  Author: Joseph Huber <jhuber6 at vols.utk.edu>
  Date:   2022-03-14 (Mon, 14 Mar 2022)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/Magic.h
    M llvm/lib/BinaryFormat/Magic.cpp
    M llvm/lib/Object/Binary.cpp
    M llvm/lib/Object/ObjectFile.cpp

  Log Message:
  -----------
  [CUDA] Add CUDA fatbinary magic

Nvidia uses fatbinaries to bundle all of their device code. This patch
adds the magic number "0x50ed55ba" used in their propeitary format to
the list of magic identifies. This is technically undocumented and could
unlikely be changed by Nvidia in the future.

Reviewed By: tra

Differential Revision: https://reviews.llvm.org/D120932


Compare: https://github.com/llvm/llvm-project/compare/c4500de255c3...24ebdb6c255e


More information about the All-commits mailing list