[all-commits] [llvm/llvm-project] 69fcc6: Revert "Revert "[libomptarget] Move resource id fu...

Jon Chesterfield via All-commits all-commits at lists.llvm.org
Mon Dec 16 08:16:26 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 69fcc6ecc15bd01b2ade9efc49315b2097f0da40
      https://github.com/llvm/llvm-project/commit/69fcc6ecc15bd01b2ade9efc49315b2097f0da40
  Author: JonChesterfield <jonathanchesterfield at gmail.com>
  Date:   2019-12-16 (Mon, 16 Dec 2019)

  Changed paths:
    M openmp/libomptarget/deviceRTLs/amdgcn/src/target_impl.h
    M openmp/libomptarget/deviceRTLs/common/src/support.cu
    M openmp/libomptarget/deviceRTLs/common/support.h
    M openmp/libomptarget/deviceRTLs/nvptx/src/target_impl.h

  Log Message:
  -----------
  Revert "Revert "[libomptarget] Move resource id functions into target specific code, implement for amdgcn""

Summary:
This reverts commit dd8a7fcdd73dd63529b81bf9f72c7529dfe99ec3.

Alexey reports undefined symbols for the new inline functions defined in target_impl.h
This does not reproduce for me for nvptx, or amdgcn, under release or debug builds.

I believe the patch is fine, based on:
 - the semantics of an inline function in C++ (the cuda INLINE functions end
   up as linkonce_odr in IR), which are only legal to drop if they have no uses
 - the code generated from a debug build of clang 9 does not show these undef symbols
 - the tests pass
 - the code is trivial

To progress from here I either need:
 - A tie break - someone to play the role of CI in determining whether the patch works
 - Alexey to provide sufficient information about his build for me to reproduce the failure
 - Alexey to debug why the symbols are disappearing for him and report back

Reviewers: ABataev, jdoerfert, grokos

Subscribers: jvesely, openmp-commits

Tags: #openmp

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




More information about the All-commits mailing list