[PATCH] D52085: [ARM][ARMLoadStoreOptimizer]

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 17 14:32:15 PDT 2018


efriedma added reviewers: efriedma, MatzeB.
efriedma added a comment.

How hard would it be to generate two vstmia instructions?  I think you can just move the limit check into the "Merge following instructions where possible" loop.  The generated code is more efficient, and it's easier to verify the testcase doesn't break for some other reason.



================
Comment at: lib/Target/ARM/ARMLoadStoreOptimizer.cpp:1080
+    case ARM::VSTRS:
+      Limit = 32;
+      break;
----------------
This limit isn't actually useful...?  There are only 32 float registers anyway.


================
Comment at: lib/Target/ARM/ARMLoadStoreOptimizer.cpp:1859
     } else {
-      assert(Candidate->Instrs.size() == 1);
       if (MergeBaseUpdateLoadStore(Candidate->Instrs.front()))
----------------
How is this change related?


Repository:
  rL LLVM

https://reviews.llvm.org/D52085





More information about the llvm-commits mailing list