- User Since
- Feb 24 2016, 11:36 AM (268 w, 2 d)
Thu, Apr 15
Ping arphaman and aaron.ballman. Also adding @erik.pilkington, who introduced namespaces to clang attribute, for opinions.
Wed, Apr 14
@gkistanova , is it okay to submit this with a full system path temporarily? /buildbot/hip-build.sh? Or do we have to switch to a python script?
Tue, Apr 13
Address Artem's comments.
Closing this revision, I have a patch to add no_pop variant of #pragma clang attribute push.
Alternatively, we could look into making no pop the default.
Mon, Apr 12
No, what I'm saying is that we can allow #pragma clang attribute push to be unbalanced if the user requests it. Injecting it with -include is a reasonable use case, IMO and you've correctly pointed out that there's no easy way to add a matching pop.
#pragma clang attribute appears to be a better and more generic mechanism for tinkering with attributes and I would prefer to use it instead of adding more pragmas that do about the same thing.
Fri, Apr 9
Revised to Artem's comments, and added empty.hip.
Wed, Apr 7
This HIP builder is dependent on two other patches:
Please note, this patch is under-development, and I've added it here, as open uncommitted review to allow HIP builder to use external script.
Tue, Apr 6
Mon, Apr 5
Thu, Apr 1
LGTM, thank you.
Wed, Mar 31
Merged DiagnosticParseKinds as requested.
Thu, Mar 18
Mar 16 2021
Thank you for the review, please see latest test updates adding tests for static/constexpr local var combinations.
Mar 8 2021
Jan 14 2021
Jan 13 2021
I was able to shrink down the testcase, but it still requires 2019 MSVC to be installed and Windows Kits 10 at a minimum.
Dec 10 2020
Dec 3 2020
Dec 2 2020
Dec 1 2020
Looks good to me.
Nov 30 2020
Although there were no issues with .*llvm-mc, as a precaution, I changed it to .*llvm-mc.* too. In case any systems use llvm-mc.exe instead.
Nov 25 2020
There are applications calling functions such as fmod(long double x, long double y), but this produces a "call is ambiguous" error.
Nov 3 2020
Revised the patch to match libcxx, fixed a bug in return type resolution, and ran clang-format on this patch.
I tried the previous HIP FMA test, and it looks like libcxx's cmath is expecting fma(float, float, char) to be promoted to (double, double, double) and return type double:
Oct 29 2020
Oct 27 2020
Oct 26 2020
Dropping this patch in favour of smaller patches.
Oct 22 2020
Updated the rcp rounded functions to use div and default to use 1.0 / __x.
Oct 21 2020
Added back the #ifdef for few functions that need static with private for OpenMP.
Oct 20 2020
Oct 19 2020
Updated based on review comments.
Oct 16 2020
Oct 15 2020
Oct 6 2020
Oct 5 2020
Missed one __r for normf.
Add missing __ prefix inside of function variables. Fix C++ and C-only macros, so that we don't use bool or the same function names in C-only. Also, use macros to define isfinite, isinf, isnan, and signbit to align with cmath !__cplusplus.
This is a pre-requisite for the next patch to add OpenMP w/ AMDGCN support.
Ran clang-format on this patch, and also verified on full stack (ROCm, Libraries).
Oct 2 2020
Sep 28 2020
Could you please add full context? Mostly looks good to me.
Sep 22 2020
Sep 17 2020
Adding Diag when mixing device and host paths with -emit-pch. Currently, we don't support this path, since the generated pch will be a clang_offload_bundle (supporting that will require that the ASTReader understand clang offload bundles and that is outside the scope of this patch). Added tests to check error Diag is reported when running both paths with -emit-pch.
Added a C++ header to .pch file test.
Sep 16 2020
Added a test checking for error when -o option is used for multi-device -emit-pch run.
Having -emit-pch in the clang driver is useful because it doesn't require users to specify standard C++ include paths, clang include paths, and CUDA/HIP wrapper headers needed by CC1. That is error prone for the user.
Also, this device compilation is not niche, it is needed for nvrtc/hiprtc and hip applications can perform device-only compilations at either compile-time or run-time.
Updated the tests to use --cuda-host-only or --cuda-device-only options when using -emit-pch. Added more tests for compilation when using -include-pch. Also, added a negative test when using different GPU variant PCH during compilation.
I believe one use-case for PCH is for common include headers such as hip_runtime.h which is being re-used in many application source files. To improve the performance, we can pre-compile the header and re-use it during online compilation.
Sep 10 2020
Fixed to use TY_HIPHeader instead of changing the phases in TY_HIP.
Looking into the C/C++ tests.