[all-commits] [llvm/llvm-project] bbc328: [OPENMP]Fix PR41826: symbols visibility in device ...

Alexey Bataev via All-commits all-commits at lists.llvm.org
Mon Nov 25 12:07:56 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: bbc328c62430dd3e2e72973ca85c5c6fb550b227
      https://github.com/llvm/llvm-project/commit/bbc328c62430dd3e2e72973ca85c5c6fb550b227
  Author: Alexey Bataev <a.bataev at hotmail.com>
  Date:   2019-11-25 (Mon, 25 Nov 2019)

  Changed paths:
    M clang/lib/AST/Decl.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/OpenMP/declare_target_codegen.cpp
    M clang/test/OpenMP/nvptx_allocate_codegen.cpp
    M clang/test/OpenMP/nvptx_declare_target_var_ctor_dtor_codegen.cpp
    M clang/test/OpenMP/nvptx_target_codegen.cpp
    M clang/test/OpenMP/nvptx_unsupported_type_codegen.cpp

  Log Message:
  -----------
  [OPENMP]Fix PR41826: symbols visibility in device code.

Summary:
Currently, we ignore all locality attributes/info when building for
the device and thus all symblos are externally visible and can be
preemted at the runtime. It may lead to incorrect results. We need to
follow the same logic, compiler uses for static/pie builds. But in some
cases changing of dso locality may lead to problems with codegen, so
instead mark external symbols as hidden instead in the device code.

Reviewers: jdoerfert

Subscribers: guansong, caomhin, kkwli0, cfe-commits

Tags: #clang

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




More information about the All-commits mailing list