[llvm-dev] Newer Cortex scheduling files for LLVM? A77/A78/X1?

Ryan Houdek via llvm-dev llvm-dev at lists.llvm.org
Mon Feb 8 15:55:39 PST 2021


Hello!
Sorry about the cold emailing here

I was looking to use llvm-mca for some static analysis of codegen I am
running and noticed that I was getting only A57 scheduling
information.
Turns out all Cortexs past A57 are just using the A57 scheduler.
I've started writing a custom Cortex-A77 scheduler file from the
guidance in the public optimization guide for the core.
Sadly I have very quickly run into the problem where any multi-uop
instruction isn't described how many uops per pipeline is generated.
Considering I don't have access to ARM's internal documentation here,
it's hard to generate a schedule file for these cores that will end up
being correct enough for static analysis.

I see David Penry (Who I've CC'd) has recently created a schedule file
for the M7.
Does anyone have schedule files coming for these CPU cores?
Or maybe the documentation about which uops are generated for which
instructions can be made available? That way schedule files can be
created publicly?
Cortex-A77 is the ideal choice in this case, but A78 and subsequently
X1 will be interesting targets as time moves forward.


More information about the llvm-dev mailing list