[PATCH] D18376: [AArch64]Add support for store clustering in machine-scheduler

Matthias Braun via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 23 22:53:19 PDT 2016

MatzeB added a comment.

Looks like an obvious change to me. It is so obvious that I wonder why it wasn't added in the first place, maybe there is a reason to it?

Comment at: include/llvm/Target/TargetInstrInfo.h:981-989
@@ -980,9 +980,11 @@
   virtual bool enableClusterLoads() const { return false; }
+  virtual bool enableClusterStores() const { return false; }
   virtual bool shouldClusterLoads(MachineInstr *FirstLdSt,
                                   MachineInstr *SecondLdSt,
                                   unsigned NumLoads) const {
     return false;
Would it make sense to simply rename "xxxClusterLoads" to "xxxClusterMemOps" instead of adding an extra interface? The target can still control whether loads or stores are clustered in getMemOpBaseRegImmOfs().

The same is true for a lot of the following code which would need the differentiation between loads and stores anymore.


More information about the llvm-commits mailing list