[PATCH] D42387: [AArch64] Add pipeline model for Exynos M3
Matthias Braun via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jan 29 09:40:56 PST 2018
MatzeB accepted this revision.
MatzeB added a comment.
This revision is now accepted and ready to land.
I can't say much about the scheduling model itself as I'm not familiar with Exynos.
LGTM if you introduce a subtarget feature for the isCheapAsAMove behavior (see below).
================
Comment at: llvm/lib/Target/AArch64/AArch64InstrInfo.cpp:678-679
return MI.isAsCheapAsAMove();
- if (Subtarget.getProcFamily() == AArch64Subtarget::ExynosM1 &&
+ if ((Subtarget.getProcFamily() == AArch64Subtarget::ExynosM1 ||
+ Subtarget.getProcFamily() == AArch64Subtarget::ExynosM3) &&
isExynosShiftLeftFast(MI))
----------------
Looks like it is time to make a subtarget feature out of this.
================
Comment at: llvm/test/CodeGen/AArch64/misched-fusion-aes.ll:1-9
; RUN: llc %s -o - -mtriple=aarch64-unknown -mattr=+fuse-aes,+crypto | FileCheck %s
; RUN: llc %s -o - -mtriple=aarch64-unknown -mcpu=generic -mattr=+crypto | FileCheck %s
; RUN: llc %s -o - -mtriple=aarch64-unknown -mcpu=cortex-a53 | FileCheck %s
; RUN: llc %s -o - -mtriple=aarch64-unknown -mcpu=cortex-a57 | FileCheck %s
; RUN: llc %s -o - -mtriple=aarch64-unknown -mcpu=cortex-a72 | FileCheck %s
; RUN: llc %s -o - -mtriple=aarch64-unknown -mcpu=cortex-a73 | FileCheck %s
; RUN: llc %s -o - -mtriple=aarch64-unknown -mcpu=exynos-m1 | FileCheck %s
----------------
More candidates here where at some point we better start testing `-mattr=+fuse-aes / -mattr=-fuse-aes` and have a seperate test to check target feature lists of CPUs...
(but as I noted in my other review that is work for another time/commit).
Repository:
rL LLVM
https://reviews.llvm.org/D42387
More information about the llvm-commits
mailing list