Revision tags: llvmorg-12.0.1-rc2 |
|
#
61cdaf66 |
| 11-Jun-2021 |
Simon Pilgrim <llvm-dev@redking.me.uk> |
[ADT] Remove APInt/APSInt toString() std::string variants
<string> is currently the highest impact header in a clang+llvm build:
https://commondatastorage.googleapis.com/chromium-browser-clang/llvm
[ADT] Remove APInt/APSInt toString() std::string variants
<string> is currently the highest impact header in a clang+llvm build:
https://commondatastorage.googleapis.com/chromium-browser-clang/llvm-include-analysis.html
One of the most common places this is being included is the APInt.h header, which needs it for an old toString() implementation that returns std::string - an inefficient method compared to the SmallString versions that it actually wraps.
This patch replaces these APInt/APSInt methods with a pair of llvm::toString() helpers inside StringExtras.h, adjusts users accordingly and removes the <string> from APInt.h - I was hoping that more of these users could be converted to use the SmallString methods, but it appears that most end up creating a std::string anyhow. I avoided trying to use the raw_ostream << operators as well as I didn't want to lose having the integer radix explicit in the code.
Differential Revision: https://reviews.llvm.org/D103888
show more ...
|
Revision tags: llvmorg-12.0.1-rc1 |
|
#
c1cd7435 |
| 07-May-2021 |
Nathan Sidwell <nathan@acm.org> |
[clang] p1099 using-enum feature macro & web page
This completes the series implementing p1099, by adding the feature macro and updating the web page.
Differential Revision: https://reviews.llvm.or
[clang] p1099 using-enum feature macro & web page
This completes the series implementing p1099, by adding the feature macro and updating the web page.
Differential Revision: https://reviews.llvm.org/D102242
show more ...
|
#
63816645 |
| 18-May-2021 |
Aaron Ballman <aaron@aaronballman.com> |
Introduce SYCL 2020 mode
Currently, we have support for SYCL 1.2.1 (also known as SYCL 2017). This patch introduces the start of support for SYCL 2020 mode, which is the latest SYCL standard availab
Introduce SYCL 2020 mode
Currently, we have support for SYCL 1.2.1 (also known as SYCL 2017). This patch introduces the start of support for SYCL 2020 mode, which is the latest SYCL standard available at (https://www.khronos.org/registry/SYCL/specs/sycl-2020/html/sycl-2020.html). This sets the default SYCL to be 2020 in the driver, and introduces the notion of a "default" version (set to 2020) when cc1 is in SYCL mode but there was no explicit -sycl-std= specified on the command line.
show more ...
|
#
b99e2c56 |
| 17-May-2021 |
Ben Shi <powerman1st@163.com> |
[clang][AVR] Redefine [u]int16_t to be compatible with avr-gcc
Reviewed By: efriedma
Differential Revision: https://reviews.llvm.org/D102547
|
#
f0efc007 |
| 22-Apr-2021 |
Anton Zabaznov <anton.zabaznov@intel.com> |
[OpenCL] Introduce new method for validating OpenCL target
Language options are not available when a target is being created, thus, a new method is introduced. Also, some refactoring is done, such a
[OpenCL] Introduce new method for validating OpenCL target
Language options are not available when a target is being created, thus, a new method is introduced. Also, some refactoring is done, such as removing OpenCL feature macros setting from TargetInfo.
Reviewed By: Anastasia
Differential Revision: https://reviews.llvm.org/D101087
show more ...
|
#
0f1137ba |
| 19-Apr-2021 |
Nico Weber <thakis@chromium.org> |
[clang/Basic] Make TargetInfo.h not use DataLayout again
Reverts parts of https://reviews.llvm.org/D17183, but keeps the resetDataLayout() API and adds an assert that checks that datalayout string a
[clang/Basic] Make TargetInfo.h not use DataLayout again
Reverts parts of https://reviews.llvm.org/D17183, but keeps the resetDataLayout() API and adds an assert that checks that datalayout string and user label prefix are in sync.
Approach 1 in https://reviews.llvm.org/D17183#2653279 Reduces number of TUs build for 'clang-format' from 689 to 575.
I also implemented approach 2 in D100764. If someone feels motivated to make us use DataLayout more, it's easy to revert this change here and go with D100764 instead. I don't plan on doing more work in this area though, so I prefer going with the smaller, more self-consistent change.
Differential Revision: https://reviews.llvm.org/D100776
show more ...
|
#
701d70d4 |
| 13-Apr-2021 |
ThePhD <phdofthehouse@gmail.com> |
String Literal and Wide String Literal Encoding from the Preprocessor
Adds the __clang_literal_encoding__ and __clang_wide_literal_encoding__ predefined macros to expose the encoding used for string
String Literal and Wide String Literal Encoding from the Preprocessor
Adds the __clang_literal_encoding__ and __clang_wide_literal_encoding__ predefined macros to expose the encoding used for string literals to the preprocessor.
show more ...
|
Revision tags: llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4 |
|
#
dc7ebd2c |
| 27-Mar-2021 |
Anton Bikineev <bikineev@chromium.org> |
[C++2b] Support size_t literals
This adds support for C++2b's z/uz suffixes for size_t literals (P0330).
|
#
c165a99a |
| 17-Mar-2021 |
Aaron Ballman <aaron@aaronballman.com> |
[SYCL] Rework the SYCL driver options
SYCL compilations initiated by the driver will spawn off one or more frontend compilation jobs (one for device and one for host). This patch reworks the driver
[SYCL] Rework the SYCL driver options
SYCL compilations initiated by the driver will spawn off one or more frontend compilation jobs (one for device and one for host). This patch reworks the driver options to make upstreaming this from the downstream SYCL fork easier.
This patch introduces a language option to identify host executions (SYCLIsHost) and a -cc1 frontend option to enable this mode. -fsycl and -fno-sycl become driver-only options that are rejected when passed to -cc1. This is because the frontend and beyond should be looking at whether the user is doing a device or host compilation specifically. Because the frontend should only ever be in one mode or the other, -fsycl-is-device and -fsycl-is-host are mutually exclusive options.
show more ...
|
Revision tags: llvmorg-12.0.0-rc3 |
|
#
564f5b07 |
| 01-Mar-2021 |
Richard Smith <richard@metafoo.co.uk> |
Revert "[c++20] Mark class type NTTPs as done and start defining the feature test macro."
Some of the parts of this work were reverted; stop defining the feature test macro for now.
This reverts co
Revert "[c++20] Mark class type NTTPs as done and start defining the feature test macro."
Some of the parts of this work were reverted; stop defining the feature test macro for now.
This reverts commit b4c63ef6dd90dba9af26a111c9a78b121c5284b1.
show more ...
|
Revision tags: llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init |
|
#
e123cd67 |
| 25-Jan-2021 |
Anton Zabaznov <anton.zabaznov@intel.com> |
[OpenCL] Refactor of targets OpenCL option settings
Currently, there is some refactoring needed in existing interface of OpenCL option settings to support OpenCL C 3.0. The problem is that OpenCL ex
[OpenCL] Refactor of targets OpenCL option settings
Currently, there is some refactoring needed in existing interface of OpenCL option settings to support OpenCL C 3.0. The problem is that OpenCL extensions and features are not only determined by the target platform but also by the OpenCL version. Also, there are core extensions/features which are supported unconditionally in specific OpenCL C version. In fact, these rules are not being followed for all targets. For example, there are some targets (as nvptx and r600) which don't support OpenCL C 2.0 core features (nvptx.languageOptsOpenCL.cl, r600.languageOptsOpenCL.cl).
After the change there will be explicit differentiation between optional core and core OpenCL features which allows giving diagnostics if target doesn't support any of necessary core features for specific OpenCL version.
This patch also eliminates `OpenCLOptions` instance duplication from `TargetOptions`. `OpenCLOptions` instance should take place in `Sema` as it's going to be modified during parsing. Removing this duplication will also allow to generally simplify `OpenCLOptions` class for parsing purposes.
Reviewed By: Anastasia
Differential Revision: https://reviews.llvm.org/D92277
show more ...
|
Revision tags: llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2 |
|
#
5a855267 |
| 18-Dec-2020 |
Jan Svoboda <jan_svoboda@apple.com> |
[clang] Use enum for LangOptions::SYCLVersion instead of unsigned
`LangOptions::SYCLVersion` can only have two values. This patch introduces an enum that allows us to reduce the member size from 32
[clang] Use enum for LangOptions::SYCLVersion instead of unsigned
`LangOptions::SYCLVersion` can only have two values. This patch introduces an enum that allows us to reduce the member size from 32 bits to 1 bit.
Consequently, this also makes marshalling of this option fit into our model for enums: D84674.
Reviewed By: bader
Differential Revision: https://reviews.llvm.org/D93540
show more ...
|
#
b4c63ef6 |
| 18-Dec-2020 |
Richard Smith <richard@metafoo.co.uk> |
[c++20] Mark class type NTTPs as done and start defining the feature test macro.
|
#
f24e58df |
| 14-Dec-2020 |
Jan Svoboda <jan_svoboda@apple.com> |
[clang][cli] Create accessors for exception models in LangOptions
This abstracts away the members that are being replaced in a follow-up patch.
Depends on D83979.
Reviewed By: dexonsmith
Differen
[clang][cli] Create accessors for exception models in LangOptions
This abstracts away the members that are being replaced in a follow-up patch.
Depends on D83979.
Reviewed By: dexonsmith
Differential Revision: https://reviews.llvm.org/D93214
show more ...
|
#
6627a3c2 |
| 03-Dec-2020 |
Marek Kurdej <marek.kurdej@gmail.com> |
[c++2b] Add option -std=c++2b to enable support for potential C++2b features.
Reviewed By: rsmith
Differential Revision: https://reviews.llvm.org/D92547
|
Revision tags: llvmorg-11.0.1-rc1 |
|
#
15a3ae1a |
| 18-Nov-2020 |
Zequan Wu <zequanwu@google.com> |
[Clang] Add __STDCPP_THREADS__ to standard predefine macros
According to https://eel.is/c++draft/cpp.predefined#2.6, `__STDCPP_THREADS__` is a predefined macro.
Differential Revision: https://revie
[Clang] Add __STDCPP_THREADS__ to standard predefine macros
According to https://eel.is/c++draft/cpp.predefined#2.6, `__STDCPP_THREADS__` is a predefined macro.
Differential Revision: https://reviews.llvm.org/D91747
show more ...
|
#
71d3b7ec |
| 09-Oct-2020 |
Anastasia Stulova <anastasia.stulova@arm.com> |
[OpenCL] Add new compilation mode for OpenCL 3.0.
Extended -cl-std/std flag with CL3.0 and added predefined version macros.
Patch by Anton Zabaznov (azabaznov)!
Tags: #clang
Differential Revision
[OpenCL] Add new compilation mode for OpenCL 3.0.
Extended -cl-std/std flag with CL3.0 and added predefined version macros.
Patch by Anton Zabaznov (azabaznov)!
Tags: #clang
Differential Revision: https://reviews.llvm.org/D88300
show more ...
|
Revision tags: llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2 |
|
#
2bfce22a |
| 25-Jun-2020 |
Saiyedul Islam <Saiyedul.Islam@amd.com> |
[OpenMP] Upgrade default version of OpenMP to 5.0
Summary: When -fopenmp option is specified then version 5.0 will be set as default.
Reviewers: gregrodgers, jdoerfert, ABataev
Reviewed By: ABatae
[OpenMP] Upgrade default version of OpenMP to 5.0
Summary: When -fopenmp option is specified then version 5.0 will be set as default.
Reviewers: gregrodgers, jdoerfert, ABataev
Reviewed By: ABataev
Subscribers: pdhaliwal, yaxunl, guansong, sstefan1, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D81098
show more ...
|
Revision tags: llvmorg-10.0.1-rc1 |
|
#
6a308943 |
| 21-Apr-2020 |
Aaron Ballman <aaron@aaronballman.com> |
C++2a -> C++20 in some identifiers; NFC.
|
Revision tags: llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4, llvmorg-10.0.0-rc3, llvmorg-10.0.0-rc2, llvmorg-10.0.0-rc1, llvmorg-11-init, llvmorg-9.0.1, llvmorg-9.0.1-rc3, llvmorg-9.0.1-rc2, llvmorg-9.0.1-rc1, llvmorg-9.0.0, llvmorg-9.0.0-rc6, llvmorg-9.0.0-rc5, llvmorg-9.0.0-rc4, llvmorg-9.0.0-rc3, llvmorg-9.0.0-rc2, llvmorg-9.0.0-rc1 |
|
#
118b057f |
| 26-Jul-2019 |
Ruyman <ruyman@codeplay.com> |
[SYCL] Driver option to select SYCL version
Summary: User can select the version of SYCL the compiler will use via the flag -sycl-std, similar to -cl-std.
The flag defines the LangOpts.SYCLVersion
[SYCL] Driver option to select SYCL version
Summary: User can select the version of SYCL the compiler will use via the flag -sycl-std, similar to -cl-std.
The flag defines the LangOpts.SYCLVersion option to the version of SYCL. The default value is undefined. If driver is building SYCL code, flag is set to the default SYCL version (1.2.1)
The preprocessor uses this variable to define CL_SYCL_LANGUAGE_VERSION macro, which should be defined according to SYCL 1.2.1 standard.
Only valid value at this point for the flag is 1.2.1.
Co-Authored-By: David Wood <Q0KPU0H1YOEPHRY1R2SN5B5RL@david.davidtw.co> Signed-off-by: Ruyman Reyes <ruyman@codeplay.com>
Subscribers: ebevhan, Anastasia, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D72857
show more ...
|
#
740ed617 |
| 27-Feb-2020 |
Alexey Bader <alexey.bader@intel.com> |
Revert "[SYCL] Driver option to select SYCL version"
This reverts commit bd97704eaaaab5a95ecb048ce343c1a4be5d94e5.
It broke tests on mac: http://45.33.8.238/mac/9011/step_7.txt
|
#
bd97704e |
| 26-Jul-2019 |
Ruyman <ruyman@codeplay.com> |
[SYCL] Driver option to select SYCL version
Summary: User can select the version of SYCL the compiler will use via the flag -sycl-std, similar to -cl-std.
The flag defines the LangOpts.SYCLVersion
[SYCL] Driver option to select SYCL version
Summary: User can select the version of SYCL the compiler will use via the flag -sycl-std, similar to -cl-std.
The flag defines the LangOpts.SYCLVersion option to the version of SYCL. The default value is undefined. If driver is building SYCL code, flag is set to the default SYCL version (1.2.1)
The preprocessor uses this variable to define CL_SYCL_LANGUAGE_VERSION macro, which should be defined according to SYCL 1.2.1 standard.
Only valid value at this point for the flag is 1.2.1.
Co-Authored-By: David Wood <Q0KPU0H1YOEPHRY1R2SN5B5RL@david.davidtw.co> Signed-off-by: Ruyman Reyes <ruyman@codeplay.com>
Subscribers: ebevhan, Anastasia, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D72857
Signed-off-by: Alexey Bader <alexey.bader@intel.com>
show more ...
|
#
24ad1215 |
| 19-Feb-2020 |
Richard Smith <richard@metafoo.co.uk> |
Add -std=c++20 flag, replace C++2a with C++20 throughout the Clang user interface and documentation, and update __cplusplus for C++20.
WG21 considers the C++20 standard to be finished (even though i
Add -std=c++20 flag, replace C++2a with C++20 throughout the Clang user interface and documentation, and update __cplusplus for C++20.
WG21 considers the C++20 standard to be finished (even though it still has some more steps to pass through in the ISO process).
The old flag names are accepted for compatibility, as usual, and we still have lots of references to C++2a in comments and identifiers; those can be cleaned up separately.
show more ...
|
#
adcd0268 |
| 28-Jan-2020 |
Benjamin Kramer <benny.kra@googlemail.com> |
Make llvm::StringRef to std::string conversions explicit.
This is how it should've been and brings it more in line with std::string_view. There should be no functional change here.
This is mostly m
Make llvm::StringRef to std::string conversions explicit.
This is how it should've been and brings it more in line with std::string_view. There should be no functional change here.
This is mostly mechanical from a custom clang-tidy check, with a lot of manual fixups. It uncovers a lot of minor inefficiencies.
This doesn't actually modify StringRef yet, I'll do that in a follow-up.
show more ...
|
#
67c608a9 |
| 23-Jan-2020 |
Saar Raz <saar@raz.email> |
[Concepts] Deprecate -fconcepts-ts, enable Concepts under -std=c++2a
Now with concepts support merged and mostly complete, we do not need -fconcepts-ts (which was also misleading as we were not impl
[Concepts] Deprecate -fconcepts-ts, enable Concepts under -std=c++2a
Now with concepts support merged and mostly complete, we do not need -fconcepts-ts (which was also misleading as we were not implementing the TS) and can enable concepts features under C++2a. A warning will be generated if users still attempt to use -fconcepts-ts.
show more ...
|