Further implementation of D114590 for the AArch64 backend. Specifying the max padding allowed for loop alignment for further AArch64 targets.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Adding a MaxBytesForLoopAlignment without a PrefLoopLogAlignment doesn't seem to make a lot of sense. I don't think it would do much on its own. Can this add sensible values for PrefLoopLogAlignment at the same time?
It could then extend the test in D114879 for all the CPUs added, to show it's tested.
llvm/lib/Target/AArch64/AArch64Subtarget.cpp | ||
---|---|---|
16–1 | These should be added too if they can be. They may need to be split into separate case blocks, if the A510 is different to the others now. |
llvm/lib/Target/AArch64/AArch64Subtarget.cpp | ||
---|---|---|
17 | This needn't be set if there is no PrefLoopLogAlignment set too. Either that, or it can be treated like a CortexA53/A55 below by adding it to the same case block. | |
llvm/test/CodeGen/AArch64/aarch64-p2align-max-bytes-neoverse.ll | ||
21 | Should this be checking for 4, 8? Can we add some of the other cpus like A53 and A55 too? |
Thanks. LGTM
llvm/lib/Target/AArch64/AArch64Subtarget.cpp | ||
---|---|---|
17 | I would fold this into the CortexA53 block. The cpus in those blocks are similar, and I dont believe there is any reason to treat them differently for function alignment. |
These should be added too if they can be. They may need to be split into separate case blocks, if the A510 is different to the others now.