[PATCH] D70549: [OPENMP]Fix PR41826: symbols visibility in device code.

Alexey Bataev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Nov 21 10:14:16 PST 2019


ABataev created this revision.
ABataev added a reviewer: jdoerfert.
Herald added a subscriber: guansong.
Herald added a project: clang.

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.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D70549

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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D70549.230483.patch
Type: text/x-patch
Size: 8422 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20191121/6655194a/attachment.bin>


More information about the cfe-commits mailing list