[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