Request for review - upstreaming Cortex-A78 and Cortex-X1

Luke Geeson via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 1 10:01:54 PDT 2020


Hi James,
Could you have a look at this patch and provide a senior review please. The code isn't mine 🙂 (Mikhail is the original author for the downstream patches)

Requesting Senior review, This patch upstreams the mcpu option for Cortex-A78, Cortex-X1 is now public and outlined here:

https://www.arm.com/products/silicon-ip-cpu/cortex-a/cortex-a78

and


https://www.arm.com/products/cortex-x


Questionnaire is below

The cpus themselves are public, but clang/llvm support is not yet upstream, this changes that. Below is a summary of changes (compared to downstream), and questions I can't answer.

I shall use the git-format patch -U9999 argument when I upstream, for this email I'm keeping it short with -U10

---Changes---
 - One of the unittests weirdly fails when applying this on vanilla llvm, I am debugging this now but it shouldn't have a bearing on senior review, will fix and self approve that before I upstream
 - as we were discussing on dsg-gnu slack, we can't find a clickable link to the X1 TRM to get the MIDR numbers for Cortex-X1. We can see these in the search results of devloper.arm.com instead. I have added them to the code but it should be discussed here whether we can include this upstream. For my two cents, MIDR numbers are a safe thing to upstream without any issue as it's just a part number

---Questions---
no outstanding concerns

---Questionnaire---
Q0. Is it based on previously approved IP with minor changes? no
Q1. Are some changes in this piece of IP not written by you? yes, downstream contributions made by other Arm employees
Q2. Does this disclose anything that is not public knowledge? Or does this patch introduce new architectural or core support? yes. This adds new CPU support, support for which does not yet exist in GCC

Q3. Does this mention any company name other than Arm? no
Q4. Does this use any trademark under inappropriate circumstances? no
Q5. Does this mention or imply any sensitive benchmark score? no
Q6. Does this relate to any micro-architectural aspects of any Arm IP? no
Q7. Is it related to any not yet published standards content or specification? no
Q8. Does it reveal a patentable idea for which a patent has not yet been filed? no
Q9. Does it interpret assembler instructions? no
Q10. Is this a patch contributing beyond the scope that has been approved for the specific sub-project? no
Q11. Should Arm be the key player defining this change? yes
Q12. Does this contribution have an unfulfilled submission sequence dependency on projects with a different license? no
Q13. Does your contribution fall within the boundaries of business approval? yes
Q20. Do you have any doubt about letting this go outside Arm, or do you think others might? no
See commit message for attribution

---Commit Msg---
Subject: [PATCH 2/2] [ARM] Add Cortex-A78 and Cortex-X1 Support for Clang and
 LLVM

This patch upstreams support for the Arm-v8 Cortex-A78 and Cortex-X1
processors for AArch64 and ARM.

In detail:
- Adding cortex-a78 and cortex-x1 as cpu options for aarch64 and arm targets in clang
- Adding Cortex-A78 and Cortex-X1 CPU names and ProcessorModels in llvm

details of the CPU can be found here:
https://www.arm.com/products/cortex-x

https://www.arm.com/products/silicon-ip-cpu/cortex-a/cortex-a78

The following people contributed to this patch:
- Luke Geeson
- Mikhail Maltsev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200701/c3b43f0a/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: a78x1.patch
Type: application/octet-stream
Size: 29599 bytes
Desc: a78x1.patch
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200701/c3b43f0a/attachment.obj>


More information about the llvm-commits mailing list