hliao marked an inline comment as done. hliao added inline comments.
================ Comment at: clang/lib/Headers/__clang_hip_runtime_wrapper.h:73-74 +#define __HOST_DEVICE__ \ + static __host__ __device__ inline __attribute__((always_inline)) +__HOST_DEVICE__ double _Cosh(double x, double y) { return cosh(x) * y; } +__HOST_DEVICE__ float _FCosh(float x, float y) { return coshf(x) * y; } ---------------- tra wrote: > I don't think we want to provide a HD implementation. > This will potentially change the meaning of these functions on the host side > vs what they do in a C++ compilation. > It should probably be just `__device__`. > > Next question is -- do we want to provide the definitions, or would just > declarations be sufficient? > In other words -- are these functions needed for some standard C++ library > functionality that we expect to work on the GPU? > If it's just to aid with overload resolution, declarations should do. > These functions are declared in ymath.h and, in the host compilation, are resolved by linking MSVC RT libraries. For the device function, as we already mark all prototypes in ymath.h as HD, we have to implement them as HD to match the declaration. But, those definitions should be only available in the device compilation to avoid conflicts in the host compilation. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D93638/new/ https://reviews.llvm.org/D93638 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits