User Details
- User Since
- Feb 9 2017, 8:06 AM (319 w, 3 d)
Tue, Mar 14
Dec 10 2022
Dec 17 2019
Just a minor comment, can you address it before you submit? Thanks!
Dec 13 2019
Dec 12 2019
Reverted in f798eb21eca97dc44ed40da52ece22780fb74230 as it was causing failures in http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-debian/builds/443/steps/test-check-all/logs/stdio and other bots.
Dec 2 2019
Nov 29 2019
Jun 4 2019
A bit late to the review, but I've noticed a couple of issues with some of the implemented builtins:
- The fmin/fmax builtins are defined twice for scalar types, does this create problems in overload resolution when using them?
- The convert_ builtins don't have support for half types (which is present in the opencl-c.h header. Is that intended?
Apr 25 2019
Mar 1 2019
Feb 28 2019
Jan 2 2019
Since this review is just for a prototype, I'll leave some feedback after having played with it for a bit.
It seems to be quite trivial to add new builtins and fix existing ones (conversion builtins sat/rounding modes). One builtin that might have a small issue is the as_type builtin in which source and destination type need to have the same bitwidth. To get that to work I ended up patching TableGen to add !mul support for it (and set VectorSize to 1 for scalars).
Dec 11 2018
This looks quite useful, thanks for taking time to do it! I can help verifying some of the tablegen'd builtins with internal tests too, if you decide to pursue this further.
Oct 30 2018
Changed the test to return a value and keep alive the interesting GEP
Sep 27 2018
Sep 5 2018
Added some negative tests
Sep 4 2018
Aug 21 2018
Updated after I committed the new tests.
Aug 20 2018
May 30 2018
May 24 2018
May 16 2018
Apr 5 2018
Apr 4 2018
Ping? I'm not sure who to add as reviewers as it's generic change.
Ping? I'm not sure who to add as reviewers as it's generic change.
Apr 3 2018
Updated diff with the latest clang-format. Thanks!
Mar 29 2018
I uploaded the wrong patch, sorry about that. I mixed up the patch file selection. This is the correct one for Polly.
Mar 28 2018
Submitted separate reviews for the other projects that use the macro:
clang: https://reviews.llvm.org/D44975
clang-tools-extra: https://reviews.llvm.org/D44976
lld: https://reviews.llvm.org/D44977
Polly: https://reviews.llvm.org/D44978
Mar 26 2018
Rebased up to trunk@328503. Addressed comments about formatting on Debug.h (comment formatting is now fixed up manually)
This is still mostly with the commands I posted earlier (aside of Debug.h, DIASupport.h and APInt.cpp).
Mar 16 2018
I understand the concern, that's why I checked the "main" projects: libcxx, lld, compiler-rt and lldb and none of them use the macro. clang is the only one that does (as far as I can tell)
Which other projects should I be checking?
The DEBUG() macro is too generic so it might clash with other projects.
I understand the argument and agree in general, but are there some known problems with such clashes? I think this patch is going to cause quite a hassle to many users and I would like to understand the motivation better. Maybe it would be a better idea to explain the situation in more detail and post it as an RFC on llvm-dev.
There are (were, at least?) clashes with other open source projects, such as MESA: https://lists.freedesktop.org/archives/mesa-dev/2016-July/124111.html and they ended up renaming DEBUG into MESA_DEBUG to avoid clashing with LLVM.
Thanks for pointing out about the RFC, I didn't think about it. I'll write up a post for llvm-dev in the coming days.
Have you thought of leaving the old DEBUG macro around and making it an alias for the new LLVM_DEBUG? The old macro can be considered deprecated for some time before it gets completely removed, but this way the could give users some time to transition instead of breaking everything at once.
Updated the patch to trunk@327699. I don't have commit rights so I cannot submit it, can you do it?
Mar 15 2018
Ping ping?
clang is also using the DEBUG() macro and other projects might be doing the same. Any suggestion on how to proceed?
Mar 8 2018
Mar 1 2018
Reformatted the patch with clang-format-diff. Also rebased against latest LLVM master.
Feb 22 2018
Feb 10 2017
Looking at "Example 4" in the standard it looks like this should also be illegal.