[PATCH] D44830: Introduce codegen for the Signal Processing Engine

Nemanja Ivanovic via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 1 15:33:51 PDT 2018


nemanjai accepted this revision.
nemanjai added a comment.
This revision is now accepted and ready to land.

Thank you so much for your patience with this long review cycle. Aside from a few minor nits, LGTM.
I also imagine you'll need something for the https://reviews.llvm.org/P9 scheduler since we've now marked the model as complete. Probably something along the lines of:

  Index: lib/Target/PowerPC/PPCScheduleP9.td
  ===================================================================
  --- lib/Target/PowerPC/PPCScheduleP9.td (revision 331260)
  +++ lib/Target/PowerPC/PPCScheduleP9.td (working copy)
  @@ -35,8 +35,9 @@
   
     let CompleteModel = 1;
   
  -  // Do not support QPX (Quad Processing eXtension) on Power 9.
  -  let UnsupportedFeatures = [HasQPX];
  +  // Do not support QPX (Quad Processing eXtension) or SPE (Signal Processing
  +  // Engine) on Power 9.
  +  let UnsupportedFeatures = [HasQPX, HasSPE];
   
   }
   



================
Comment at: lib/Target/PowerPC/PPCAsmPrinter.cpp:516
+  if (!MI->isInlineAsm()) {
+    for (unsigned i = 0; i < MI->getNumOperands(); i++) {
+      const MachineOperand &MO = MI->getOperand(i);
----------------
I think this can be a range-based for loop over `MI->operands()`.


================
Comment at: lib/Target/PowerPC/PPCCallingConv.td:271
 
-def CSR_SVR432   : CalleeSavedRegs<(add R14, R15, R16, R17, R18, R19, R20,
-                                        R21, R22, R23, R24, R25, R26, R27, R28,
-                                        R29, R30, R31, F14, F15, F16, F17, F18,
+// SPE does not use FPRs, so break out the common register set as base
+def CSR_SVR432_COMM : CalleeSavedRegs<(add R14, R15, R16, R17, R18, R19, R20,
----------------
Nit: full sentence comments with a period.


Repository:
  rL LLVM

https://reviews.llvm.org/D44830





More information about the llvm-commits mailing list