[PATCH] D24857: [ARM] Assign cost of scaling used in addressing mode for ARM cores

Renato Golin via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 12 05:59:12 PDT 2016


rengolin added inline comments.


================
Comment at: lib/Target/ARM/ARMISelLowering.cpp:11604
+  if (isLegalAddressingMode(DL, AM, Ty, AS)) {
+    if (Subtarget->hasFPAO())
+      return AM.Scale < 0 ? 1 : 0; // positive offsets execute faster
----------------
jmolloy wrote:
> rengolin wrote:
> > This is not really a cost model... but I don't have a better idea. This is a very specific feature.
> > 
> > @jmolloy, are you happy with this?
> I know you asked for it to be a feature flag, but... I'm not particularly keen on it as a feature flag. Are we moving towards feature flags for cost model decisions now? :/
> 
> Wouldn't something like:
> 
>    switch (Subtarget->getCPUName()) {
>    default: return 0;
>    case Cortex-R52:
>       return AM.Scale < 0 ? 1 : 0;
>    }
> 
> be alright? It's more cost-model-like...
Good lord, no! We're moving away from core checks. :)


https://reviews.llvm.org/D24857





More information about the llvm-commits mailing list