[all-commits] [llvm/llvm-project] f73334: [AArch64] Set the latency of Cortex-A55 stores to 1
David Green via All-commits
all-commits at lists.llvm.org
Mon Jul 12 05:41:32 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: f73334c46d59ffdbf12353932d5985049335a6c7
https://github.com/llvm/llvm-project/commit/f73334c46d59ffdbf12353932d5985049335a6c7
Author: David Green <david.green at arm.com>
Date: 2021-07-12 (Mon, 12 Jul 2021)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedA55.td
M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-all-stats.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-all-views.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-in-order-retire.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-load-store-alias.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-out-of-order-retire.s
Log Message:
-----------
[AArch64] Set the latency of Cortex-A55 stores to 1
This sets the latency of stores to 1 in the Cortex-A55 scheduling model,
to better match the values given in the software optimization guide.
The latency of a store in normal llvm scheduling does not appear to have
a lot of uses. If the store has no outputs then the latency is somewhat
meaningless (and pre/post increment update operands use the WriteAdr
write for those operands instead). The one place it does alter things is
the latency between a store and the end of the scheduling region, which
can in turn have an effect on the critical path length. As a result a
latency of 1 is more correct and offers ever-so-slightly better
scheduling of instructions near the end of the block.
They are marked as RetireOOO to keep the llvm-mca from introducing
stalls where non would exist.
Differential Revision: https://reviews.llvm.org/D105541
More information about the All-commits
mailing list