[all-commits] [llvm/llvm-project] b5667d: [OpenMP][CUDA] Fix std::complex in GPU regions

Johannes Doerfert via All-commits all-commits at lists.llvm.org
Fri Jul 10 22:42:40 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: b5667d00e0447747419a783697b84a37f59ce055
      https://github.com/llvm/llvm-project/commit/b5667d00e0447747419a783697b84a37f59ce055
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2020-07-11 (Sat, 11 Jul 2020)

  Changed paths:
    M clang/lib/Headers/__clang_cuda_complex_builtins.h
    M clang/lib/Headers/__clang_cuda_math.h
    M clang/test/Headers/nvptx_device_math_complex.c
    M clang/test/Headers/nvptx_device_math_complex.cpp

  Log Message:
  -----------
  [OpenMP][CUDA] Fix std::complex in GPU regions

The old way worked to some degree for C++-mode but in C mode we actually
tried to introduce variants of macros (e.g., isinf). To make both modes
work reliably we get rid of those extra variants and directly use NVIDIA
intrinsics in the complex implementation. While this has to be revisited
as we add other GPU targets which want to reuse the code, it should be
fine for now.

Reviewed By: tra, JonChesterfield, yaxunl

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




More information about the All-commits mailing list