|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init |
|
| #
1666f099 |
| 05-Jul-2022 |
Archibald Elliott <[email protected]> |
[ARM] Add Support for Cortex-M85
This patch adds support for Arm's Cortex-M85 CPU. The Cortex-M85 CPU is an Arm v8.1m Mainline CPU, with optional support for MVE and PACBTI, both of which are enable
[ARM] Add Support for Cortex-M85
This patch adds support for Arm's Cortex-M85 CPU. The Cortex-M85 CPU is an Arm v8.1m Mainline CPU, with optional support for MVE and PACBTI, both of which are enabled by default.
Parts have been coauthored by by Mark Murray, Alexandros Lamprineas and David Green.
Differential Revision: https://reviews.llvm.org/D128415
show more ...
|
|
Revision tags: llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4 |
|
| #
91b24b01 |
| 08-May-2022 |
Philipp Tomsich <[email protected]> |
[AArch64] Ampere1 does not support MTE
The initial support for the Ampere1 mistakenly signalled support for the MTE feature. However, the core does not include the optional MTE functionality.
Upda
[AArch64] Ampere1 does not support MTE
The initial support for the Ampere1 mistakenly signalled support for the MTE feature. However, the core does not include the optional MTE functionality.
Update the target parser to not include MTE for Ampere1.
Reviewed By: dmgreen
Differential Revision: https://reviews.llvm.org/D125191
show more ...
|
| #
64816e68 |
| 03-May-2022 |
Philipp Tomsich <[email protected]> |
[AArch64] Support for Ampere1 core
Add support for the Ampere Computing Ampere1 core. Ampere1 implements the AArch64 state and is compatible with ARMv8.6-A.
Differential Revision: https://reviews.l
[AArch64] Support for Ampere1 core
Add support for the Ampere Computing Ampere1 core. Ampere1 implements the AArch64 state and is compatible with ARMv8.6-A.
Differential Revision: https://reviews.llvm.org/D117112
show more ...
|
|
Revision tags: llvmorg-14.0.3 |
|
| #
051deb2d |
| 28-Apr-2022 |
Ties Stuij <[email protected]> |
[ARM] add Armv9 build attribute
The build attribute number can be found in the Arm ABI addenda32 document: https://github.com/ARM-software/abi-aa/blob/main/addenda32/addenda32.rst#335target-related-
[ARM] add Armv9 build attribute
The build attribute number can be found in the Arm ABI addenda32 document: https://github.com/ARM-software/abi-aa/blob/main/addenda32/addenda32.rst#335target-related-attributes
Reviewed By: tmatheson
Differential Revision: https://reviews.llvm.org/D124090
show more ...
|
|
Revision tags: llvmorg-14.0.2, llvmorg-14.0.1 |
|
| #
55b6a318 |
| 06-Apr-2022 |
David Spickett <[email protected]> |
[llvm][AArch64] Generate getExtensionFeatures from the list of extensions
This takes the AARCH64_ARCH_EXT_NAME in AArch64TargetParser.def and uses it to generate all the "if bit is set add this feat
[llvm][AArch64] Generate getExtensionFeatures from the list of extensions
This takes the AARCH64_ARCH_EXT_NAME in AArch64TargetParser.def and uses it to generate all the "if bit is set add this feature name" code.
Which gives us a bunch that we were missing. I've updated testing to include those and reordered them to match the order in the .def.
The final part of the test will catch any missing extensions if we somehow manage to not generate an if block for them.
This has changed the order of cc1's "-target-feature" output so I've updated some tests in clang to reflect that.
Reviewed By: tmatheson
Differential Revision: https://reviews.llvm.org/D123296
show more ...
|
| #
72517e27 |
| 22-Mar-2022 |
Eli Friedman <[email protected]> |
[AArch64] Fix AArch64TargetParser.def to match AArch64.td.
Currently, we have two different lists of features each CPU supports... and those lists aren't consistent. This patch assumes AArch64.td is
[AArch64] Fix AArch64TargetParser.def to match AArch64.td.
Currently, we have two different lists of features each CPU supports... and those lists aren't consistent. This patch assumes AArch64.td is right, and tries to fix AArch64TargetParser to match.
It's hard to find documentation for the right features, but reviewers have confirmed these changes.
Probably we should try to unify the two lists at some point, but synchronizing them seems like a prerequisite to that anyway.
Differential Revision: https://reviews.llvm.org/D122274
show more ...
|
|
Revision tags: llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init |
|
| #
6b1e844b |
| 31-Jan-2022 |
Ties Stuij <[email protected]> |
[ARM] Add Cortex-X1C Support for Clang and LLVM
This patch upstreams support for the Arm-v8 Cortex-X1C processor for AArch64 and ARM.
For more information, see: - https://community.arm.com/arm-comm
[ARM] Add Cortex-X1C Support for Clang and LLVM
This patch upstreams support for the Arm-v8 Cortex-X1C processor for AArch64 and ARM.
For more information, see: - https://community.arm.com/arm-community-blogs/b/announcements/posts/arm-cortex-x1c - https://developer.arm.com/documentation/101968/0002/Functional-description/Technical-overview/Components
The following people contributed to this patch: - Simon Tatham - Ties Stuij
Reviewed By: dmgreen
Differential Revision: https://reviews.llvm.org/D117202
show more ...
|
| #
f15014ff |
| 26-Jan-2022 |
Benjamin Kramer <[email protected]> |
Revert "Rename llvm::array_lengthof into llvm::size to match std::size from C++17"
This reverts commit ef8206320769ad31422a803a0d6de6077fd231d2.
- It conflicts with the existing llvm::size in STLEx
Revert "Rename llvm::array_lengthof into llvm::size to match std::size from C++17"
This reverts commit ef8206320769ad31422a803a0d6de6077fd231d2.
- It conflicts with the existing llvm::size in STLExtras, which will now never be called. - Calling it without llvm:: breaks C++17 compat
show more ...
|
| #
ef820632 |
| 26-Jan-2022 |
serge-sans-paille <[email protected]> |
Rename llvm::array_lengthof into llvm::size to match std::size from C++17
As a conquence move llvm::array_lengthof from STLExtras.h to STLForwardCompat.h (which is included by STLExtras.h so no buil
Rename llvm::array_lengthof into llvm::size to match std::size from C++17
As a conquence move llvm::array_lengthof from STLExtras.h to STLForwardCompat.h (which is included by STLExtras.h so no build breakage expected).
show more ...
|
| #
38ac4093 |
| 21-Jan-2022 |
Archibald Elliott <[email protected]> |
[NFCI][Support] Avoid ASSERT_/EXPECT_TRUE(A <op> B)
The error messages in tests are far better when a test fails if the test is written using ASSERT_/EXPECT_<operator>(A, B) rather than ASSERT_/EXPE
[NFCI][Support] Avoid ASSERT_/EXPECT_TRUE(A <op> B)
The error messages in tests are far better when a test fails if the test is written using ASSERT_/EXPECT_<operator>(A, B) rather than ASSERT_/EXPECT_TRUE(A <operator> B).
This commit updates all of llvm/unittests/Support to use these macros where possible.
This change has not been possible in: - llvm/unittests/Support/FSUniqueIDTest.cpp - due to not overloading operators beyond ==, != and <. - llvm/unittests/Support/BranchProbabilityTest.cpp - where the unchanged tests are of the operator overloads themselves.
There are other possibilities of this conversion not being valid, which have not applied in these tests, as they do not use NULL (they use nullptr), and they do not use const char* (they use std::string or StringRef).
Reviewed By: mubashar_
Differential Revision: https://reviews.llvm.org/D117319
show more ...
|
|
Revision tags: llvmorg-13.0.1, llvmorg-13.0.1-rc3 |
|
| #
75e164f6 |
| 20-Jan-2022 |
serge-sans-paille <[email protected]> |
[llvm] Cleanup header dependencies in ADT and Support
The cleanup was manual, but assisted by "include-what-you-use". It consists in
1. Removing unused forward declaration. No impact expected. 2. R
[llvm] Cleanup header dependencies in ADT and Support
The cleanup was manual, but assisted by "include-what-you-use". It consists in
1. Removing unused forward declaration. No impact expected. 2. Removing unused headers in .cpp files. No impact expected. 3. Removing unused headers in .h files. This removes implicit dependencies and is generally considered a good thing, but this may break downstream builds. I've updated llvm, clang, lld, lldb and mlir deps, and included a list of the modification in the second part of the commit. 4. Replacing header inclusion by forward declaration. This has the same impact as 3.
Notable changes:
- llvm/Support/TargetParser.h no longer includes llvm/Support/AArch64TargetParser.h nor llvm/Support/ARMTargetParser.h - llvm/Support/TypeSize.h no longer includes llvm/Support/WithColor.h - llvm/Support/YAMLTraits.h no longer includes llvm/Support/Regex.h - llvm/ADT/SmallVector.h no longer includes llvm/Support/MemAlloc.h nor llvm/Support/ErrorHandling.h
You may need to add some of these headers in your compilation units, if needs be.
As an hint to the impact of the cleanup, running
clang++ -E -Iinclude -I../llvm/include ../llvm/lib/Support/*.cpp -std=c++14 -fno-rtti -fno-exceptions | wc -l
before: 8000919 lines after: 7917500 lines
Reduced dependencies also helps incremental rebuilds and is more ccache friendly, something not shown by the above metric :-)
Discourse thread on the topic: https://llvm.discourse.group/t/include-what-you-use-include-cleanup/5831
show more ...
|
|
Revision tags: llvmorg-13.0.1-rc2 |
|
| #
61d547e8 |
| 05-Jan-2022 |
Mubashar Ahmad <[email protected]> |
[Clang][AArch64][ARM] PMUv3 Option Added
An option has been added to Clang to enable or disable the PMU v3 architecture extension.
Differential Revision: https://reviews.llvm.org/D116748
|
|
Revision tags: llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4 |
|
| #
c84b8be5 |
| 23-Sep-2021 |
Lucas Prates <[email protected]> |
[AArch64] clang support for Armv8.8/9.3 MOPS
This introduces clang command line support for the new Armv8.8-A and Armv9.3-A instructions for standardising memcpy, memset and memmove operations, whic
[AArch64] clang support for Armv8.8/9.3 MOPS
This introduces clang command line support for the new Armv8.8-A and Armv9.3-A instructions for standardising memcpy, memset and memmove operations, which was previously introduced into LLVM in https://reviews.llvm.org/D116157.
Patch by Lucas Prates, Tomas Matheson and Son Tuan Vu.
Differential Revision: https://reviews.llvm.org/D117271
show more ...
|
| #
2db4cf59 |
| 13-Dec-2021 |
Tomas Matheson <[email protected]> |
clang support for Armv8.8/9.3 HBC
This introduces clang command line support for new Armv8.8-A and Armv9.3-A Hinted Conditional Branches feature, previously introduced into LLVM in https://reviews.l
clang support for Armv8.8/9.3 HBC
This introduces clang command line support for new Armv8.8-A and Armv9.3-A Hinted Conditional Branches feature, previously introduced into LLVM in https://reviews.llvm.org/D116156.
Patch by Tomas Matheson and Son Tuan Vu.
Differential Revision: https://reviews.llvm.org/D116939
show more ...
|
| #
0c7f515f |
| 11-Jan-2022 |
David Green <[email protected]> |
Revert "[Clang][AArch64][ARM] PMUv3.4 Option Added"
It turns out this is conflating a few different PMU extensions. And on Arm ended up breaking M-Profile code generation. Reverting for the moment w
Revert "[Clang][AArch64][ARM] PMUv3.4 Option Added"
It turns out this is conflating a few different PMU extensions. And on Arm ended up breaking M-Profile code generation. Reverting for the moment whilst we sort out the details.
This reverts commit d17fb46e894501568a1bf3b11a5d920817444630.
show more ...
|
| #
d17fb46e |
| 05-Jan-2022 |
Mubashar Ahmad <[email protected]> |
[Clang][AArch64][ARM] PMUv3.4 Option Added
An option has been added to Clang to enable or disable the PMU v3.4 architecture extension.
Differential Revision: https://reviews.llvm.org/D116748
|
|
Revision tags: llvmorg-13.0.0-rc3 |
|
| #
cd7f621a |
| 02-Sep-2021 |
Lucas Prates <[email protected]> |
[ARM][AArch64] Introduce Armv9.3-A
This patch introduces support for targetting the Armv9.3-A architecture, which should map to the existing Armv8.8-A extensions.
Differential Revision: https://rev
[ARM][AArch64] Introduce Armv9.3-A
This patch introduces support for targetting the Armv9.3-A architecture, which should map to the existing Armv8.8-A extensions.
Differential Revision: https://reviews.llvm.org/D116158
show more ...
|
|
Revision tags: llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2 |
|
| #
d50072f7 |
| 11-Feb-2021 |
Simon Tatham <[email protected]> |
[ARM] Introduce an empty "armv8.8-a" architecture.
This is the first commit in a series that implements support for "armv8.8-a" architecture. This should contain all the necessary boilerplate to mak
[ARM] Introduce an empty "armv8.8-a" architecture.
This is the first commit in a series that implements support for "armv8.8-a" architecture. This should contain all the necessary boilerplate to make the 8.8-A architecture exist from LLVM and Clang's point of view: it adds the new arch as a subtarget feature, a definition in TargetParser, a name on the command line, an appropriate set of predefined macros, and adds appropriate tests. The new architecture name is supported in both AArch32 and AArch64.
However, in this commit, no actual _functionality_ is added as part of the new architecture. If you specify -march=armv8.8a, the compiler will accept it and set the right predefines, but generate no code any differently.
Differential Revision: https://reviews.llvm.org/D115694
show more ...
|
| #
955c72c3 |
| 18-Nov-2021 |
Bradley Smith <[email protected]> |
[AArch64][ARM] Add missing SVE/SVE2 features from Cortex-A710
Differential Revision: https://reviews.llvm.org/D114169
|
| #
26f56438 |
| 12-Nov-2021 |
Bradley Smith <[email protected]> |
[Clang][SVE] Properly enable/disable dependant SVE target features based upon +(no)sve.* options
Co-authored-by: Graham Hunter <[email protected]>
Differential Revision: https://reviews.llvm.or
[Clang][SVE] Properly enable/disable dependant SVE target features based upon +(no)sve.* options
Co-authored-by: Graham Hunter <[email protected]>
Differential Revision: https://reviews.llvm.org/D113776
show more ...
|
| #
8e47b83e |
| 14-Oct-2021 |
Mubashar Ahmad <[email protected]> |
[AArch64][ARM] Enablement of Cortex-A710 Support
Phabricator review: https://reviews.llvm.org/D113256
|
| #
0b83a18a |
| 01-Nov-2021 |
Mubashar Ahmad <[email protected]> |
[AArch64] Enablement of Cortex-X2
Enables support for Cortex-X2 cores.
Differential Revision: https://reviews.llvm.org/D112459
|
| #
2186b011 |
| 22-Oct-2021 |
Caroline Concatto <[email protected]> |
[Driver][AArch64]Add driver support for neoverse-512tvb target
The support for neoverse-512tvb mirrors the same option available in GCC[1]. There is no functional effect for this option yet. This p
[Driver][AArch64]Add driver support for neoverse-512tvb target
The support for neoverse-512tvb mirrors the same option available in GCC[1]. There is no functional effect for this option yet. This patch ensures the driver accepts "-mcpu=neoverse-512tvb", and enough plumbing is in place to allow the new option to be used in the future.
[1]https://gcc.gnu.org/onlinedocs/gcc/AArch64-Options.html
Differential Revision: https://reviews.llvm.org/D112406
show more ...
|
| #
97809c82 |
| 15-Oct-2021 |
Mubashar Ahmad <[email protected]> |
[AArch64]Enabling Cortex-A510 Support
This patch enables support for Cortex-A510 CPUs.
Reviewed By: MarkMurrayARM, dmgreen
Differential Revision: https://reviews.llvm.org/D109825
|
| #
3550e242 |
| 08-Sep-2021 |
Victor Campos <[email protected]> |
[Clang][ARM][AArch64] Add support for Armv9-A, Armv9.1-A and Armv9.2-A
armv9-a, armv9.1-a and armv9.2-a can be targeted using the -march option both in ARM and AArch64.
- Armv9-A maps to Armv8.5-A
[Clang][ARM][AArch64] Add support for Armv9-A, Armv9.1-A and Armv9.2-A
armv9-a, armv9.1-a and armv9.2-a can be targeted using the -march option both in ARM and AArch64.
- Armv9-A maps to Armv8.5-A. - Armv9.1-A maps to Armv8.6-A. - Armv9.2-A maps to Armv8.7-A. - The SVE2 extension is enabled by default on these architectures. - The cryptographic extensions are disabled by default on these architectures.
The Armv9-A architecture is described in the Arm® Architecture Reference Manual Supplement Armv9, for Armv9-A architecture profile (https://developer.arm.com/documentation/ddi0608/latest).
Reviewed By: SjoerdMeijer
Differential Revision: https://reviews.llvm.org/D109517
show more ...
|