[all-commits] [llvm/llvm-project] bf6124: [HIP] support ThinLTO

Yaxun (Sam) Liu via All-commits all-commits at lists.llvm.org
Sat May 22 07:49:07 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: bf6124580dfba86b73d828851f03fb9eea1269bd
      https://github.com/llvm/llvm-project/commit/bf6124580dfba86b73d828851f03fb9eea1269bd
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2021-05-22 (Sat, 22 May 2021)

  Changed paths:
    M clang/include/clang/Driver/Driver.h
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/HIP.cpp
    M clang/test/Driver/hip-options.hip
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/test/Transforms/FunctionImport/Inputs/funcimport.ll
    A llvm/test/Transforms/FunctionImport/Inputs/noinline.ll
    M llvm/test/Transforms/FunctionImport/adjustable_threshold.ll
    M llvm/test/Transforms/FunctionImport/funcimport.ll
    A llvm/test/Transforms/FunctionImport/noinline.ll

  Log Message:
  -----------
  [HIP] support ThinLTO

Add options -[no-]offload-lto and -foffload-lto=[thin,full] for controlling
LTO for offload compilation. Allow LTO for AMDGPU target.

AMDGPU target does not support codegen of object files containing
call of external functions, therefore the LLVM module passed to
AMDGPU backend needs to contain definitions of all the callees.
An LLVM option is added to allow function importer to import
functions with noinline attribute.

HIP toolchain passes proper LLVM options to lld to make sure
function importer imports definitions of all the callees.

Reviewed by: Teresa Johnson, Artem Belevich

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




More information about the All-commits mailing list