Skip to content

Commit

Permalink
[ARM] Don't Enable AES Pass for Generic Cores
Browse files Browse the repository at this point in the history
This brings clang/llvm into line with GCC. The Pass is still enabled for
the affected cores, but is now opt-in when using `-march=`.

I also took the opportunity to add release notes for this change.

Reviewed By: john.brawn

Differential Revision: https://reviews.llvm.org/D125775
  • Loading branch information
lenary committed May 18, 2022
1 parent e497871 commit 2321c36
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 1 deletion.
5 changes: 5 additions & 0 deletions clang/docs/ReleaseNotes.rst
Expand Up @@ -265,6 +265,11 @@ New Compiler Flags
the parameter list were ``void``. There is no ``-fknr-functions`` or
``-fno-no-knr-functions`` flag; this feature cannot be disabled in language
modes where it is required, such as C++ or C2x.
- A new ARM pass to workaround Cortex-A57 Erratum 1742098 and Cortex-A72 Erratum
1655431 can be enabled using ``-mfix-cortex-a57-aes-1742098`` or
``-mfix-cortex-a72-aes-1655431``. The pass is enabled when using either of
these cpus with ``-mcpu=`` and can be disabled using
``-mno-fix-cortex-a57-aes-1742098`` or ``-mno-fix-cortex-a72-aes-1655431``.

Deprecated Compiler Flags
-------------------------
Expand Down
2 changes: 2 additions & 0 deletions llvm/docs/ReleaseNotes.rst
Expand Up @@ -99,6 +99,8 @@ Changes to the ARM Backend
warnings will be generated and -mrestrict-it is now always off by default.
Previously it was on by default for Armv8 and off for all other architecture
versions.
* Added a pass to workaround Cortex-A57 Erratum 1742098 and Cortex-A72
Erratum 1655431. This is enabled by default when targeting either CPU.

Changes to the AVR Backend
--------------------------
Expand Down
2 changes: 1 addition & 1 deletion llvm/lib/Target/ARM/ARM.td
Expand Up @@ -1161,7 +1161,7 @@ include "ARMScheduleM7.td"
// ARM processors
//
// Dummy CPU, used to target architectures
def : ProcessorModel<"generic", CortexA8Model, [FeatureFixCortexA57AES1742098]>;
def : ProcessorModel<"generic", CortexA8Model, []>;

// FIXME: Several processors below are not using their own scheduler
// model, but one of similar/previous processor. These should be fixed.
Expand Down

0 comments on commit 2321c36

Please sign in to comment.